Socket.Bind(EndPoint) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Kojarzy element Socket z lokalnym punktem końcowym.
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)
Parametry
Wyjątki
localEP
to null
.
Wystąpił błąd podczas próby uzyskania dostępu do gniazda.
Element Socket został zamknięty.
Obiekt wywołujący wyżej w stosie wywołań nie ma uprawnień do żądanej operacji.
Przykłady
Poniższy przykład kodu wiąże Socket obiekt przy użyciu określonego lokalnego punktu końcowego.
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
Uwagi
Bind Użyj metody , jeśli musisz użyć określonego lokalnego punktu końcowego. Przed wywołaniem metody należy Bind wywołać metodę Listen . Nie musisz wywoływać Bind metody przed użyciem Connect metody, chyba że musisz użyć określonego lokalnego punktu końcowego. Można użyć Bind metody zarówno w protokołach bez połączenia, jak i zorientowanych na połączenie.
Przed wywołaniem Bindmetody należy najpierw utworzyć lokalną IPEndPoint , z której mają być przekazywane dane. Jeśli nie obchodzi, który adres lokalny jest przypisany, możesz utworzyć metodę IPEndPoint using IPAddress.Any jako parametr adresu, a podstawowy dostawca usług przypisze najbardziej odpowiedni adres sieciowy. Może to pomóc uprościć aplikację, jeśli masz wiele interfejsów sieciowych. Jeśli nie obchodzi cię, który port lokalny jest używany, możesz utworzyć IPEndPoint parametr using 0 dla numeru portu. W takim przypadku dostawca usług przypisze dostępny numer portu z zakresu od 1024 do 5000.
Jeśli używasz powyższej metody, możesz sprawdzić, jaki adres sieci lokalnej i numer portu zostały przypisane, wywołując element LocalEndPoint. Jeśli używasz protokołu zorientowanego na połączenie, LocalEndPoint nie zwróci lokalnie przypisanego adresu sieciowego, dopóki nie zostanie wykonane wywołanie metody Connect or EndConnect . Jeśli używasz protokołu bez połączenia, nie będziesz mieć dostępu do tych informacji, dopóki nie ukończysz wysyłania lub odbierania.
Jeśli gniazdo UDP chce odbierać informacje o interfejsie dla odebranych pakietów, SetSocketOption należy jawnie wywołać metodę z opcją gniazda ustawioną bezpośrednio PacketInformation po wywołaniu Bind metody.
Uwaga
Jeśli zamierzasz odbierać datagramy multiemisji, musisz wywołać metodę Bind przy użyciu numeru portu multiemisji.
Uwaga
Należy wywołać metodę Bind , jeśli zamierzasz odbierać bez połączenia datagramy przy użyciu ReceiveFrom metody .
Uwaga
Jeśli podczas wywoływania Bind metody wystąpi błądSocketException, użyj SocketException.ErrorCode właściwości , aby uzyskać określony kod błędu. Po uzyskaniu tego kodu zapoznaj się z dokumentacją kodu błędu interfejsu API Windows Sockets w wersji 2 , aby uzyskać szczegółowy opis błędu.
Uwaga
Ten element członkowski generuje informacje ze śledzenia pod warunkiem włączenia funkcji śledzenia sieci w aplikacji. Aby uzyskać więcej informacji, zobacz Śledzenie sieci w .NET Framework.