Partager via


CAsyncSocket::Listen

Appelez la fonction membre pour écouter les demandes de connexion entrante.

BOOL Listen( 
   int nConnectionBacklog = 5  
);

Paramètres

  • nConnectionBacklog
    La longueur maximale à laquelle la file d'attente des connexions en attente peut développer. La plage valide est de 1 à 5.

Valeur de retour

Une valeur différente de zéro si la fonction est réussie ; sinon 0, et le code d'erreur spécifique peuvent être récupérés en appelant GetLastError. Les erreurs suivantes s'appliquent à cette fonction membre :

  • WSANOTINITIALISED A réussi AfxSocketInit doit se produire avant d'utiliser cette API.

  • WSAENETDOWN que l'implémentation de Windows Sockets l'a détecté que le sous-système réseau a échoué.

  • WSAEADDRINUSE une tentative a été effectuée pour écouter sur une adresse en cours de utilisation.

  • WSAEINPROGRESS se bloque l'exécution de Windows Sockets est en cours.

  • WSAEINVAL le socket n'a pas été lié avec Liaison ou est déjà connecté.

  • WSAEISCONN le socket est déjà connecté.

  • WSAEMFILE plus de modèles de fichier n'est disponible.

  • WSAENOBUFS aucun espace de mémoire tampon est disponible.

  • WSAENOTSOCK le modèle n'est pas un socket.

  • WSAEOPNOTSUPP le socket référencé n'est pas d'un type qui prend en charge l'exécution d' Listen .

Notes

Pour recevoir des connexions, le socket est d'abord créé avec Créer, un journal pour les connexions entrantes est spécifié avec Listen, puis les connexions sont reçues avec Accepter. Listen applique uniquement aux sockets qui prennent en charge les connexions, c. autrement dit., celles du type SOCK_STREAM. Ce socket est mis en mode passif «  » où les connexions entrantes sont acceptées et mises en file d'attente en attente l'acceptation par le processus.

Cette fonction est généralement utilisée par les serveurs (ou toute application qui souhaite recevoir les connexions) qui peuvent avoir plusieurs connectez -vous à la fois : si une demande de connexion arrive à la file d'attente complète, le client reçoit une erreur avec une indication de WSAECONNREFUSED.

Tente d'Listen de continuer à fonctionner rationnellement lorsqu'il n'y a pas de port disponible (modèles). Il recevra les connexions jusqu'à ce que la file d'attente soit vidée. Si les ports deviennent disponibles, un appel ultérieur à Listen ou à Accepter remplira la file d'attente familiarisé avec ou la plupart de « journal récent, » si possible, et le résumé détection à l'écoute les connexions entrantes.

Configuration requise

Header: afxsock.h

Voir aussi

Référence

CAsyncSocket, classe

Graphique de la hiérarchie

CAsyncSocket::Accept

CAsyncSocket::Connect

CAsyncSocket::Create