Sdílet prostřednictvím


Socket.Bind(EndPoint) Metoda

Definice

Přidruží místní Socket koncový bod.

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

localEP
EndPoint

Místní, EndPoint které chcete přidružit k objektu Socket.

Výjimky

localEP je null.

Při pokusu o přístup k soketu došlo k chybě.

Ta Socket byla uzavřena.

Volající vyšší v zásobníku volání nemá oprávnění pro požadovanou operaci.

Příklady

Následující příklad kódu vytvoří vazbu pomocí Socket zadaného místního koncového bodu.

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

Poznámky

Tuto metodu Bind použijte, pokud potřebujete použít konkrétní místní koncový bod. Než budete moct metodu Listen volat, musíte volatBind. Před použitím Connect metody nemusíte volatBind, pokud nepotřebujete použít konkrétní místní koncový bod. Metodu Bind můžete použít na protokolech bez připojení i protokolů orientovaných na připojení.

Před voláním Bindmusíte nejprve vytvořit místní, IPEndPoint ze kterého chcete komunikovat data. Pokud vás nezajímá, která místní adresa je přiřazená, můžete jako parametr adresy vytvořit IPEndPoint použití IPAddress.Any a poskytovatel základní služby přiřadí nejvhodnější síťovou adresu. To může pomoct zjednodušit aplikaci, pokud máte více síťových rozhraní. Pokud vás nezajímá, který místní port se používá, můžete pro číslo portu vytvořit IPEndPoint hodnotu 0. V takovém případě poskytovatel služeb přiřadí dostupné číslo portu mezi 1024 a 5000.

Pokud použijete výše uvedený přístup, můžete zjistit, jaká adresa místní sítě a číslo portu byly přiřazeny voláním LocalEndPoint. Pokud používáte protokol orientovaný na připojení, nevrátí místně přiřazenou síťovou adresu, LocalEndPoint dokud nebudete volat metodu nebo EndConnect metoduConnect. Pokud používáte protokol bez připojení, nebudete mít k tomuto informací přístup, dokud nedokončíte odesílání nebo přijímání.

Pokud soket UDP chce přijímat informace o rozhraní přijatých paketů, SetSocketOption metoda by měla být explicitně volána s možností soketu nastavena na PacketInformation okamžitě po volání Bind metody.

Poznámka:

Pokud máte v úmyslu přijímat datagramy vícesměrového vysílání, musíte volat Bind metodu s číslem portu vícesměrového vysílání.

Poznámka:

Pokud chcete přijímat datagramy bez připojení pomocí této metody, musíte metodu ReceiveFrom volatBind.

Poznámka:

Pokud se vám při volání Bind metody zobrazíSocketException, použijte SocketException.ErrorCode vlastnost k získání konkrétního kódu chyby. Po získání tohoto kódu si přečtěte dokumentaci k chybě rozhraní API rozhraní WINDOWS Sockets verze 2 , kde najdete podrobný popis chyby.

Poznámka:

Tento člen vypíše informace o trasování, když ve své aplikaci povolíte trasování sítě. Další informace naleznete v tématu Trasování sítě v rozhraní .NET Framework.

Platí pro

Viz také