Classe System.Net.Sockets.Socket

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

La Socket classe fournit un ensemble complet de méthodes et de propriétés pour les communications réseau. La Socket classe vous permet d’effectuer un transfert de données synchrone et asynchrone à l’aide de l’un des protocoles de communication répertoriés dans l’énumération ProtocolType .

La Socket classe suit le modèle d’affectation de noms .NET pour les méthodes asynchrones. Par exemple, la méthode synchrone Receive correspond aux variantes asynchrones ReceiveAsync .

Utilisez les méthodes suivantes pour le mode d’opération synchrone :

  • Si vous utilisez un protocole orienté connexion tel que TCP, votre serveur peut écouter les connexions à l’aide de la Listen méthode. La Accept méthode traite toutes les demandes de connexion entrantes et retourne un Socket élément que vous pouvez utiliser pour communiquer des données avec l’hôte distant. Utilisez cette méthode retournée Socket pour appeler l’objet ou Receive la Send méthode. Appelez la Bind méthode avant d’appeler la Listen méthode si vous souhaitez spécifier l’adresse IP locale et le numéro de port. Utilisez un numéro de port de zéro si vous souhaitez que le fournisseur de services sous-jacent attribue un port gratuit pour vous. Si vous souhaitez vous connecter à un hôte d’écoute, appelez la Connect méthode. Pour communiquer des données, appelez la ou Receive la Send méthode.
  • Si vous utilisez un protocole sans connexion tel que UDP, vous n’avez pas besoin d’écouter les connexions du tout. Appelez la ReceiveFrom méthode pour accepter les datagrammes entrants. Utilisez la SendTo méthode pour envoyer des datagrammes à un hôte distant.

Pour traiter les communications de manière asynchrone, utilisez les méthodes suivantes :

  • Si vous utilisez un protocole orienté connexion tel que TCP, utilisez cette option ConnectAsync pour vous connecter à un hôte d’écoute. Utilisez ou ReceiveAsync communiquez SendAsync des données de façon asynchrone. Les demandes de connexion entrantes peuvent être traitées à l’aide AcceptAsyncde .
  • Si vous utilisez un protocole sans connexion tel que UDP, vous pouvez l’utiliser SendToAsync pour envoyer des datagrammes et ReceiveFromAsyncrecevoir des datagrammes.

Si vous effectuez plusieurs opérations asynchrones sur un socket, elles ne se terminent pas nécessairement dans l’ordre dans lequel elles sont démarrées.

Une fois que vous avez terminé d’envoyer et de recevoir des données, utilisez la Shutdown méthode pour désactiver le Socket. Après l’appel Shutdown, appelez la Close méthode pour libérer toutes les ressources associées au Socket.

La Socket classe vous permet de configurer votre Socket utilisation de la SetSocketOption méthode. Récupérez ces paramètres à l’aide de la GetSocketOption méthode.