LISTEN
Section: Manuel du programmeur Linux (2) Updated: 18 juillet 2003 Index
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION
NOM
listen - Attendre des connexions sur une socket.
SYNOPSIS
DESCRIPTION
Pour accepter des connexions, une socket est d'abord créée avec
socket(2),
puis le désir d'accepter des connexions entrantes, et la limite
de la file d'entrée sont indiqués avec
listen,
ensuite les connexions seront acceptées avec
accept(2).
L'appel système
listen
s'applique seulement aux sockets de type
SOCK_STREAM
ou
SOCK_SEQPACKET.
Le paramètre
backlog
définit une longueur maximale pour la file des connexions en attente.
Si une nouvelle connexion arrive alors que la file est pleine, le
client reçoit une erreur indiquant
ECONNREFUSED,
ou, si le protocole sous-jacent supporte les retransmissions, la requête
peut être ignorée afin qu'un nouvel essai réussisse.
Le comportement de
backlog
a été modifié sur les sockets TCP dans Linux 2.2.
Il s'agit à présent de la longueur de la file d'attente pour les socket
totalement
établies en attente d'acceptation, plutôt que les requêtes de connexion
incomplètes. La longueur maximale de la file d'attente des connexions
incomplètes peut être configurée avec l'appel sysctl
tcp_max_syn_backlog.
Lorsque les syncookies sont activés, il n'y a pas de longueur maximale
et la configuration sysctl est ignorée.
Voir
tcp(7)
pour plus de détail.
VALEUR RENVOYÉE
listen
renvoie 0 si il réussit, ou -1 en cas d'échec, auquel cas
errno
contient le code d'erreur.
ERREURS
- EADDRINUSE
-
Une autre socket est déjà à l'écoute sur le même port.
- EBADF
-
s
n'est pas un descripteur valide
- ENOTSOCK
-
L'argument
s
n'est pas une socket.
- EOPNOTSUPP
-
Le type de socket ne supporte pas l'appel système
listen.
CONFORMITÉ
SVr4, BSD (l'appel système
listen
est apparu dans BSD 4.2).
BOGUES
Si la socket est de type
AF_INET
(internet), et si l'argument
backlog
est supérieur à la constante
SOMAXCONN
(128 dans Linux 2.0 et 2.2), il est silencieusement ramené à
SO_MAXCONN.
Pour la portabilité des applications, ne vous fiez pas à
cette valeur puisque BSD (et d'autres dérivés) limitent
l'argument
backlog
à 5.
VOIR AUSSI
TRADUCTION
Christophe Blaess, 1996-2003.
|