Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       listen - Attendre des connexions sur une socket

SYNOPSIS

       #include <sys/types.h>          /* Consultez NOTES */
       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

DESCRIPTION

       listen()  marque  la socket référencée par sockfd comme une socket passive, c'est-à-dire comme une socket
       qui sera utilisée pour accepter les demandes de connexions entrantes en utilisant accept(2).

       Le paramètre sockfd est un descripteur de fichier qui fait référence à une socket de type SOCK_STREAM  ou
       SOCK_SEQPACKET.

       Le paramètre backlog définit une longueur maximale pour la file des connexions en attente pour sockfd. 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.

VALEUR RENVOYÉE

       S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

ERREURS

       EADDRINUSE
              Une autre socket est déjà à l'écoute sur le même port.

       EBADF  sockfd n'est pas un descripteur valable.

       ENOTSOCK
              Le paramètre sockfd n'est pas une socket.

       EOPNOTSUPP
              Le type de socket ne supporte pas l'appel système listen().

CONFORMITÉ

       BSD 4.4, POSIX.1-2001. La fonction listen() est apparue dans BSD 4.2.

NOTES

       Pour accepter des connexions, les étapes suivantes sont effectuées :

           1.  Une socket est créée avec socket(2).

           2.  La socket est limitée à une adresse locale avec bind(2), ainsi d'autres sockets  peuvent  y  être
               connect(2)ées.

           3.  La  volonté  d'accepter  des  connexions  entrantes  et  une  limite  de file pour les connexions
               entrantes sont spécifiées avec listen().

           4.  Les connexions sont acceptées avec accept(2).

       POSIX.1-2001 ne requiert pas l'inclusion de <sys/types.h>, et  cet  en‐tête  n'est  pas  nécessaire  sous
       Linux.  Cependant,  il  doit  être  inclus  sous  certaines  implémentations  historiques  (BSD),  et les
       applications portables devraient probablement l'utiliser.

       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 /proc/sys/net/ipv4/tcp_max_syn_backlog. Lorsque les syncookies sont
       activés, il n'y a pas de longueur maximale et la configuration est ignorée. Consultez tcp(7) pour plus de
       détails.

       Si l'argument backlog est plus grand que la valeur indiquée dans le fichier /proc/sys/net/core/somaxconn,
       il est tronqué à cette valeur ; la valeur par défaut dans ce fichier est 128. Dans les  noyaux  précédant
       2.4.25, cette limite était une valeur fixe, SOMAXCONN, qui valait également 128.

EXEMPLE

       Consultez bind(2).

VOIR AUSSI

       accept(2), bind(2), connect(2), socket(2), socket(7)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des
       instructions    pour    signaler    des    anomalies    peuvent     être     trouvées     à     l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe      Blaess      <http://www.blaess.fr/christophe/>      (1996-2003),       Alain       Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de  traduction de
       Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org>  ou  par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».