listen(2) System Calls Manual listen(2) NOM listen - Attendre des connexions sur un socket BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int listen(int sockfd, int backlog); DESCRIPTION listen() marque le socket reference par sockfd comme un socket passif, c'est-a-dire comme un socket qui sera utilise pour accepter les demandes de connexions entrantes en utilisant accept(2). Le parametre sockfd est un descripteur de fichier qui fait reference a un socket de type SOCK_STREAM ou SOCK_SEQPACKET. Le parametre backlog definit 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 recoit une erreur indiquant ECONNREFUSED, ou, si le protocole sous-jacent supporte les retransmissions, la requete peut etre ignoree afin qu'un nouvel essai reussisse. VALEUR RENVOYEE En cas de succes, zero est renvoye. En cas d'erreur, -1 est renvoye et errno est definie pour preciser l'erreur. ERREURS EADDRINUSE Un autre socket est deja a l'ecoute sur le meme port. EADDRINUSE (Sockets Internet) Le socket indique par sockfd n'a pas encore ete attache a une adresse, et lors d'une tentative d'attachement a un port ephemere, aucun port n'etait disponible dans l'intervalle des ports ephemeres. 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 reference a un socket. EOPNOTSUPP Le type de socket ne supporte pas l'appel systeme listen(). STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, 4.4BSD (apparu dans 4.2BSD). NOTES Pour accepter des connexions, les etapes suivantes sont effectuees : (1) Un socket est cree avec socket(2). (2) Le socket est limite a une adresse locale avec bind(2), ainsi d'autres sockets peuvent y etre connect(2)es. (3) La volonte d'accepter des connexions entrantes et une limite de file pour les connexions entrantes sont specifiees avec listen(). (4) Les connexions sont acceptees avec accept(2). Le comportement de backlog a ete modifie sur les sockets TCP dans Linux 2.2. Il s'agit a present de la longueur de la file d'attente pour les sockets totalement etablis en attente d'acceptation, plutot que les requetes de connexion incompletes. La longueur maximale de la file d'attente des connexions incompletes peut etre configuree avec /proc/sys/net/ipv4/tcp_max_syn_backlog. Lorsque les syncookies sont actives, il n'y a pas de longueur maximale et la configuration est ignoree. Consultez tcp(7) pour plus de details. Si l'argument backlog est plus grand que la valeur indiquee dans le fichier /proc/sys/net/core/somaxconn, il est bloque silencieusement a cette valeur. Depuis Linux 5.4, la valeur par defaut dans ce fichier est 4096 ; dans les noyaux plus anciens, elle etait de 128. Avant linux 2.4.25, cette limite etait une valeur fixe, SOMAXCONN, qui valait egalement 128. EXEMPLES Consultez bind(2). VOIR AUSSI accept(2), bind(2), connect(2), socket(2), socket(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier , Frederic Hantrais et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 listen(2)