Freigeben über


Socket.Bind(EndPoint) Methode

Definition

Ordnet einen Socket lokalen Endpunkt zu.

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)

Parameter

localEP
EndPoint

Der Lokale EndPoint , der dem Socketzugeordnet werden soll.

Ausnahmen

localEP ist null.

Beim Versuch, auf den Socket zuzugreifen, ist ein Fehler aufgetreten.

Das Socket wurde geschlossen.

Ein aufrufer höher im Aufrufstapel verfügt nicht über die Berechtigung für den angeforderten Vorgang.

Beispiele

Im folgenden Codebeispiel wird eine Socket Verwendung des angegebenen lokalen Endpunkts gebunden.

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

Hinweise

Verwenden Sie die Bind Methode, wenn Sie einen bestimmten lokalen Endpunkt verwenden müssen. Sie müssen aufrufen Bind , bevor Sie die Listen Methode aufrufen können. Sie müssen nicht vor der Verwendung der Connect Methode aufrufenBind, es sei denn, Sie müssen einen bestimmten lokalen Endpunkt verwenden. Sie können die Bind Methode sowohl für verbindungslose als auch für verbindungsorientierte Protokolle verwenden.

Vor dem Aufrufen Bindmüssen Sie zuerst das Lokale IPEndPoint erstellen, aus dem Sie Daten kommunizieren möchten. Wenn Ihnen nicht wichtig ist, welche lokale Adresse zugewiesen ist, können Sie eine IPEndPoint Verwendung IPAddress.Any als Adressparameter erstellen, und der zugrunde liegende Dienstanbieter weist die am besten geeignete Netzwerkadresse zu. Dies kann dazu beitragen, Ihre Anwendung zu vereinfachen, wenn Sie über mehrere Netzwerkschnittstellen verfügen. Wenn Sie sich nicht darum kümmern, welcher lokale Port verwendet wird, können Sie für IPEndPoint die Portnummer 0 mit 0 erstellen. In diesem Fall weist der Dienstanbieter eine verfügbare Portnummer zwischen 1024 und 5000 zu.

Wenn Sie den obigen Ansatz verwenden, können Sie ermitteln, welche lokale Netzwerkadresse und Portnummer durch Aufrufen der LocalEndPointNummer zugewiesen wurde. Wenn Sie ein verbindungsorientiertes Protokoll verwenden, wird die lokal zugewiesene Netzwerkadresse erst zurückgegeben, LocalEndPoint nachdem Sie einen Aufruf an die Connect Methode vorgenommen EndConnect haben. Wenn Sie ein verbindungsloses Protokoll verwenden, haben Sie keinen Zugriff auf diese Informationen, bis Sie ein Senden oder Empfangen abgeschlossen haben.

Wenn ein UDP-Socket Schnittstelleninformationen zu empfangenden Paketen empfangen möchte, sollte die SetSocketOption Methode explizit aufgerufen werden, wobei die Socketoption unmittelbar nach dem Aufrufen der Bind Methode festgelegt PacketInformation ist.

Hinweis

Wenn Sie Multicast-Datagramme empfangen möchten, müssen Sie die Bind Methode mit einer Multicastportnummer aufrufen.

Hinweis

Sie müssen die Bind Methode aufrufen, wenn Sie verbindungslose Datagramme mithilfe der ReceiveFrom Methode empfangen möchten.

Hinweis

Wenn Sie beim Aufrufen der Bind Methode eine SocketException Erhalten haben, verwenden Sie die SocketException.ErrorCode Eigenschaft, um den spezifischen Fehlercode abzurufen. Nachdem Sie diesen Code erhalten haben, finden Sie in der Windows Sockets Version 2-API-Fehlercodedokumentation eine detaillierte Beschreibung des Fehlers.

Hinweis

Dieses Mitglied gibt Protokollierungsinformationen aus, wenn Sie die Netzwerkablaufverfolgung in Ihrer Anwendung aktivieren. Weitere Informationen finden Sie unter Network Tracing in .NET Framework.

Gilt für:

Weitere Informationen