Partager via


Socket.Bind(EndPoint) Méthode

Définition

Associe un Socket 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 au Socket.

Exceptions

localEP a la valeur null.

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

Il Socket a été fermé.

Un appelant 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 point de terminaison local spécifié.

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 une utilisation IPAddress.Any en tant que paramètre d’adresseIPEndPoint, et le fournisseur de services sous-jacent affecte 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 IPEndPoint numéro de port à l’aide de 0. Dans ce cas, le fournisseur de services affecte 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 attribués en appelant le LocalEndPoint. Si vous utilisez un protocole orienté connexion, LocalEndPoint ne retournez pas l’adresse réseau affectée localement tant que vous n’avez pas effectué un appel à la méthode ou EndConnect à la Connect méthode. Si vous utilisez un protocole sans connexion, vous n’aurez pas accès à ces informations tant que vous n’avez 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 explicitement appelée avec l’option de socket définie PacketInformation immédiatement après l’appel de la Bind méthode.

Note

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

Note

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

Note

Si vous recevez un SocketException message lors de l’appel de la Bind méthode, utilisez la SocketException.ErrorCode propriété pour obtenir le code d’erreur spécifique. Une fois que vous avez obtenu ce code, 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.

Note

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

S’applique à

Voir aussi