Socket.Bind(EndPoint) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將 a Socket 與本地端點關聯。
public:
void Bind(System::Net::EndPoint ^ localEP);
public void Bind(System.Net.EndPoint localEP);
member this.Bind : System.Net.EndPoint -> unit
Public Sub Bind (localEP As EndPoint)
參數
例外狀況
localEP 為 null。
嘗試存取該套接字時發生錯誤。
該店 Socket 已經關閉。
呼叫堆疊中較高的呼叫者沒有該請求操作的權限。
範例
以下程式碼範例是透過指定的本地端點綁定 a Socket 。
try {
aSocket.Bind(anEndPoint);
}
catch (Exception e) {
Console.WriteLine("Winsock error: " + e.ToString());
}
Try
aSocket.Bind(anEndPoint)
Catch e As Exception
Console.WriteLine("Winsock error: " & e.ToString())
End Try
備註
如果你需要使用特定的本地端點,就用這個 Bind 方法。 你必須先打電話 Bind ,才能打電話給 Listen 這個方法。 除非你需要使用特定的本地端點,否則不需要先Connect呼叫Bind這個方法。 你可以在無連線和有連線協定上使用這種 Bind 方法。
在撥打 Bind電話之前,你必須先建立你打算從哪裡通訊的本地 IPEndPoint 電話。 如果你不在意分配哪個本地位址,可以建立 IPEndPoint 一個 using IPAddress.Any 作為位址參數,底層服務提供者會指派最合適的網路位址。 如果你有多個網路介面,這可能有助於簡化你的應用程式。 如果你不在意使用哪個本地埠,可以為埠號建立 IPEndPoint 使用 0。 此時,服務提供者會分配一個介於 1024 到 5000 之間的可用埠號。
如果你採用上述方法,可以透過呼叫 LocalEndPoint來發現已分配的本地網路位址和埠號。 如果你使用的是連線導向協定, LocalEndPoint 直到你呼叫 Connect or EndConnect 方法後,才會回傳本地分配的網路位址。 如果你使用無連線協定,必須完成傳送或接收後才能取得這些資訊。
若 UDP 套接字想接收接收封包的介面資訊,應明確呼叫該 SetSocketOption 方法,並將套接字選項設定為 PacketInformation 在呼叫該 Bind 方法後立即啟動。
備註
如果你打算接收多播資料報,必須以多播埠號呼叫該 Bind 方法。
備註
如果你打算用該ReceiveFrom方法接收無連線資料報,必須呼叫該Bind方法。
備註
若呼叫該方法時Bind收到 aSocketException,請使用該SocketException.ErrorCode屬性取得特定的錯誤代碼。 取得此程式碼後,請參閱 Windows Sockets 版本 2 API 錯誤代碼 文件,以獲得錯誤的詳細說明。
備註
當您在應用程式中啟用網路追蹤時,此成員會輸出追蹤資訊。 欲了解更多資訊,請參閱 .NET Framework 中的網路追蹤。