Une fois que la socket socket
a été
créée avec la fonction socket_create()
et liée à un nom avec la fonction
socket_bind(), elle peut être mise en attente de
connexion entrante.
Un nombre maximum de backlog
connexions seront mises
en attente de traitement. Si une demande de connexion arrive et que la
queue est pleine, le client recevra une erreur indiquant
ECONNREFUSED, ou, si le protocole de support accepte
les retransmissions, la requête sera ignorée pour que les tentatives
ultérieures finissent par réussir.
Note : Le nombre maximum passé dans le paramètre
backlog
dépend essentiellement de la plate-forme de support. Sur Linux, il est tronqué automatiquement à SOMAXCONN. Sous Windows, si la constante SOMAXCONN est passée, le service responsable des sockets choisira une valeur maximum raisonnable. Il n'y a pas de méthode pour deviner la valeur réellement choisie.
socket_listen() ne fonctionne qu'avec des sockets de type SOCK_STREAM et SOCK_SEQPACKET.
Cette fonction retourne TRUE en cas de succès, FALSE en cas d'échec. Le code d'erreur généré peut être obtenu en appelant la fonction socket_last_error(). Ce code d'erreur peut être passé à la fonction socket_strerror() pour obtenir un message d'erreur humainement lisible.
Voir aussi socket_accept(), socket_bind(), socket_connect(), socket_create() et socket_strerror().
Précédent | Sommaire | Suivant |
socket_last_error | Niveau supérieur | socket_read |