Socket筆記和簡單例項

2021-08-11 18:23:17 字數 2223 閱讀 2819

socket的通訊過程

伺服器端:

01,申請乙個socket

02,繫結到乙個ip位址和乙個埠上

03,開啟偵聽,等待接收連線

客戶端:

01,申請乙個socket

02,連線伺服器(指明ip位址和埠號)

伺服器端接收到連線請求後,產生乙個新的socket(埠大於1024)與客戶端建立連線並進行通訊,原監聽socket繼續監聽。

socket的建構函式

public socket(addressfamily addressfamily,sockettype  sockettype,protocoltype  protocoltype)

addressfamily:指定socket用來解析位址的定址方案。例如:internetwork指示當socket使用乙個ip版本4位址連線

sockettype:定義要開啟的socket的型別

socket類使用protocoltype列舉向windows  sockets  api通知所請求的協議

注意:

1,埠號必須在 1 和 65535之間,最好在1024以後。

2,要連線的遠端主機必須正在監聽指定埠,也就是說你無法隨意連線遠端主機。

如:ipaddress addr = ipaddress.parse("127.0.0.1");

ipendpoint endp = new ipendpoint(addr,,9000);

服務端先繫結:serverwelcomesocket.bind(endp)

客戶端再連線:clientsocket.connect(endp)

3,乙個socket一次只能連線一台主機

4,socket關閉後無法再次使用

5,每個socket物件只能與一台遠端主機連線。如果你想連線到多台遠端主機,你必須建立多個socket物件。

socket常用類和方法

相關類:

ipaddress:包含了乙個ip位址

ipendpoint:包含了一對ip位址和埠號

方法:

socket():建立乙個socket

bind():繫結乙個本地的ip和埠號(ipendpoint)

listen():讓socket偵聽傳入的連線吃那個病,並指定偵聽佇列容量

connect():初始化與另乙個socket的連線

accept():接收連線並返回乙個新的socket

send():輸出資料到socket

receive():從socket中讀取資料

close():關閉socket,銷毀連線

}//接收伺服器訊息

void receivemsg()

catch (exception ex)}}

void showmsg(string msg)

private void btnsend_click(object sender, eventargs e)

catch (exception ex)}}

}

PWA筆記和簡單例項

一 manifest的使用和介紹 1 建立manifest.json檔案,並進行配置,常用配置引數有 應用圖示 background color 背景色 theme color 主題色 display standalone 顯示模式 2 在index.html中引入manifest.json檔案 二...

socket的簡單通訊例項

分為服務端和客服端,先看服務端吧 做乙個控制台程式,using system using system.collections.generic using system.text using system.net using system.net.sockets namespace socket r...

Python學習之路 socket簡單例項

客戶端 1 客戶端 2import socket 34 client socket.socket 相當於宣告socket型別,同時生成socket連線物件 5 client.connect localhost 6969 67 client.send b hello world 8 data clie...