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> ».

Linux                                           20 novembre 2008                                       LISTEN(2)