Provided by: manpages-fr-dev_4.27.0-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 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.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                          listen(2)