Provided by: manpages-fr-dev_4.23.1-1_all bug

NOM

       listen - Attendre des connexions sur un socket

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

DESCRIPTION

       listen()  marque le socket référencé par sockfd comme un socket passif, c'est-à-dire comme
       un socket qui sera utilisé 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 à un 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
              Un autre socket est déjà à l'écoute sur le même port.

       EADDRINUSE
              (Sockets Internet) Le socket indiqué par sockfd n'a pas encore été  attaché  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().

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001, 4.4BSD (apparu dans 4.2BSD).

NOTES

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

           (1)  Un socket est créé avec socket(2).

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

           (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 sockets totalement établis 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 bloqué silencieusement à cette valeur.  Depuis  Linux
       5.4,  la  valeur  par défaut dans ce fichier est 4096 ; dans les noyaux plus anciens, elle
       était de 128. Avant linux 2.4.25, cette limite  était  une  valeur  fixe,  SOMAXCONN,  qui
       valait également 128.

EXEMPLES

       Consultez bind(2).

VOIR AUSSI

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

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