Socket.Bind(EndPoint) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
使 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 結 。
try
{
aSocket->Bind( anEndPoint );
}
catch ( Exception^ e )
{
Console::WriteLine( "Winsock error: {0}", e );
}
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 。 如果您不小心指派的本機位址,您可以使用 作為地址參數來建立 IPEndPointIPAddress.Any ,而基礎服務提供者會指派最適當的網路位址。 如果您有多個網路介面,這有助於簡化您的應用程式。 如果您不小心使用哪個本機埠,您可以針對埠號碼建立 IPEndPoint using 0。 在此情況下,服務提供者會指派介於1024到5000之間的可用埠號碼。
如果您使用上述方法,您可以呼叫 LocalEndPoint來探索已指派哪些局域網路位址和埠號碼。 如果您使用連線導向通訊協定,在呼叫 Connect 或 EndConnect 方法之後,LocalEndPoint才會傳回本機指派的網路位址。 如果您使用無連線通訊協定,在完成傳送或接收之前,您將無法存取這項資訊。
如果 UDP 套接字想要接收已接收封包的介面資訊, SetSocketOption 則應在呼叫 方法之後,使用套接字選項明確呼叫 , 設定為 PacketInformationBind 。
注意
如果您想要接收多播數據報,您必須使用多播埠號碼呼叫 Bind 方法。
注意
如果您想要使用 ReceiveFrom 方法接收無連接數據報,則必須呼叫 Bind 方法。
注意
如果您在呼叫 Bind 方法時收到 SocketException ,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。 取得此程式代碼之後,請參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。
注意
在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤。