Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       listen - Attendre des connexions sur une socket

SYNOPSIS

       #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

       En  cas  de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno est définie
       pour préciser l'erreur.

ERREURS

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

       EADDRINUSE
              (Sockets Internet) La socket indiquée par sockfd n'a pas encore été attachée a  une
              adresse,  et  lors  d'une  tentative  d'attachement  à un port éphémère, aucun port
              n'était  disponible  dans  l'intervalle  des   ports   éphémères.   Consultez   les
              explications concernant /proc/sys/net/ipv4/ip_local_port_range dans ip(7).

       EBADF  sockfd n'est pas un descripteur de fichier valable.

       ENOTSOCK
              Le descripteur de fichier sockfd ne fait pas référence à un socket.

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

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008, BSD 4.4 (listen() est apparu 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).

       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.

       If the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it
       is silently capped to that value. Since Linux 5.4, the default in this file  is  4096;  in
       earlier kernels, the default value is 128. In kernels before 2.4.25, this limit was a hard
       coded value, SOMAXCONN, with the value 128.

EXEMPLES

       Consultez bind(2).

VOIR AUSSI

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

COLOPHON

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

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com>, Frédéric Hantrais  <fhantrais@gmail.com>  et  Jean-Philippe
       MENGUAL <jpmengual@debian.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.