Forum und email

socket_listen

(PHP 4 >= 4.0.7, PHP 5)

socket_listen — Attend une connexion sur une socket

Description

bool socket_listen ( resource $socket [, int $backlog ] )

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().