Provided by: manpages-fr-dev_3.57d1p1-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.57 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> ».