Partager via


Socket.Bind(EndPoint) Méthode

Définition

Associe Socket à un point de terminaison local.

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)

Paramètres

localEP
EndPoint

EndPoint local à associer à Socket.

Exceptions

localEP a la valeur null.

Une erreur s’est produite pendant la tentative d’accès au socket.

Un appelant situé plus haut dans la pile des appels n’a pas l’autorisation pour l’opération demandée.

Exemples

L’exemple de code suivant lie un Socket à l’aide du point de terminaison local spécifié.

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

Remarques

Utilisez la Bind méthode si vous devez utiliser un point de terminaison local spécifique. Vous devez appeler Bind avant de pouvoir appeler la Listen méthode . Vous n’avez pas besoin d’appeler Bind avant d’utiliser la Connect méthode, sauf si vous devez utiliser un point de terminaison local spécifique. Vous pouvez utiliser la Bind méthode sur les protocoles sans connexion et orientés connexion.

Avant d’appeler Bind, vous devez d’abord créer le local IPEndPoint à partir duquel vous avez l’intention de communiquer des données. Si vous ne vous souciez pas de l’adresse locale affectée, vous pouvez créer un using IPAddress.Any comme paramètre d’adresseIPEndPoint, et le fournisseur de services sous-jacent affectera l’adresse réseau la plus appropriée. Cela peut vous aider à simplifier votre application si vous avez plusieurs interfaces réseau. Si vous ne vous souciez pas du port local utilisé, vous pouvez créer un à l’aide de IPEndPoint 0 pour le numéro de port. Dans ce cas, le fournisseur de services attribue un numéro de port disponible compris entre 1024 et 5000.

Si vous utilisez l’approche ci-dessus, vous pouvez découvrir l’adresse de réseau local et le numéro de port qui ont été attribués en appelant le LocalEndPoint. Si vous utilisez un protocole orienté connexion, LocalEndPoint ne retourne l’adresse réseau affectée localement qu’après avoir effectué un appel à la Connect méthode ou EndConnect . Si vous utilisez un protocole sans connexion, vous n’aurez pas accès à ces informations tant que vous n’aurez pas terminé l’envoi ou la réception.

Si un socket UDP souhaite recevoir des informations d’interface sur les paquets reçus, la SetSocketOption méthode doit être appelée explicitement avec l’option de socket définie sur PacketInformation immédiatement après l’appel de la Bind méthode.

Notes

Si vous envisagez de recevoir des datagrammes de multidiffusion, vous devez appeler la Bind méthode avec un numéro de port de multidiffusion.

Notes

Vous devez appeler la Bind méthode si vous envisagez de recevoir des datagrammes sans connexion à l’aide de la ReceiveFrom méthode .

Notes

Si vous recevez un lors de SocketException l’appel de la Bind méthode, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois ce code obtenu, reportez-vous à la documentation du code d’erreur de l’API Windows Sockets version 2 pour obtenir une description détaillée de l’erreur.

Notes

Ce membre génère des informations de traçage lorsque vous activez le traçage réseau dans votre application. Pour plus d’informations, consultez Suivi réseau dans .NET Framework.

S’applique à

Voir aussi