Socket初接觸
來源:互聯網
上載者:User
Visual C#通過建立Socket類的執行個體來實現Socket的託管版本。在Visual C#中建立完Socket執行個體後,可以通過此Socket執行個體的Bind方法綁定到網路中指定的終結點,也可以通過其Connect方法向指定的終結點建立的串連。串連建立完畢,就可以使用其Send或SendTo方法將資料發送到Socket;同樣使用其的Receive或ReceiveFrom方法從Socket中讀取資料。在Socket使用完畢後,請使用其的Shutdown方法禁用Socket,並使用Close方法關閉Socket。表01和表02是Socket類中的常用屬性和方法及其簡要說明。
屬性 說明
AddressFamily 擷取Socket的地址族。
Available 擷取已經從網路接收且可供讀取的資料量。
Blocking 擷取或設定一個值,該值指示Socket是否處於阻塞模式。
Connected 擷取一個值,該值指示Socket是否已串連到遠端資源。
Handle 擷取Socket的作業系統控制代碼。
LocalEndPoint 擷取本地終結點。
ProtocolType 擷取Socket的協議類型。
RemoteEndPoint 擷取遠程終結點。
SocketType 擷取Socket的類型。
表01:Socket類的常用屬性及其說明
方法 說明
Accept 建立新的Socket以處理傳入的串連請求。
BeginAccept 開始一個非同步請求,以建立新的Socket來接受傳入的串連請求。
BeginConnect 開始對網路裝置串連的非同步請求。
BeginReceive 開始從串連的Socket中非同步接收資料。
BeginReceiveFrom 開始從指定網路裝置中非同步接收資料。
BeginSend 將資料非同步發送到串連的
BeginSendTo 向特定遠程主機非同步發送資料。
Bind 使Socket與一個本地終結點相關聯。
Close 強制Socket串連關閉。
Connect 建立到遠程裝置的串連。
EndAccept 結束非同步請求以建立新的Socket來接受傳入的串連請求
EndConnect 結束掛起的非同步串連請求。
EndReceive 結束掛起的非同步讀取。
EndReceiveFrom 結束掛起的、從特定終結點進行非同步讀取。
EndSend 結束掛起的非同步發送
EndSendTo 結束掛起的、向指定位置進行的非同步發送。
GetSocketOption 返回Socket選項的值。
IOControl 為Socket設定低層級操作模式
Listen 將Socket置於偵聽狀態。
Poll
Receive 接收來自串連Socket的資料。
ReceiveFrom 接收資料文報並儲存源終結點。
Select 確定一個或多個通訊端的狀態。
Send 將資料發送到串連的
SendTo 將資料發送到特定終結點。
SetSocketOption 設定Socket選項。
Shutdown 禁用某Socket上的發送和接收。
表02:Socket類的常用方法及其說明
其中“BeginAccept”和“EndAccept”、“BeginConnect”和“EndConnect”、
“BeginReceive”和“EndReceive”、“BeginReceiveFrom”和“EndReceiveFrom”、
“BeginSend”和“EndSend”、“BeginSendTo”和“EndSendTo”是六組非同步方法呼叫,
其功能分別相當於“Accept”、“Connect”、“Receive”、“ReceiveFrom”、
“Send”和“SendTo”方法。