listen   Début   Suivant   Sommaire   Préc.page.lue   Accueil
Section: Manuel du programmeur Linux (2)
Updated: 28 décembre 2007
Sommaire  



NOM   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
listen - Attendre des connexions sur une socket  



SYNOPSIS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
#include <sys/types.h>          /* Voir NOTES */

#include <sys/socket.h> int listen(int sockfd, int backlog);
 



DESCRIPTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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).

L'argument sockfd est un descripteur de fichier qui fait référence à une socket de type SOCK_STREAM ou SOCK_SEQPACKET.

L'argument backlog définit une longueur maximale jusqu'à laquelle la file des connexions en attente pour sockfd peut croître. 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   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
listen() renvoie 0 si il réussit, ou -1 en cas d'échec, auquel cas errno contient le code d'erreur.  



ERREURS   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
EADDRINUSE
Une autre socket est déjà à l'écoute sur le même port.
EBADF
sockfd n'est pas un descripteur valide
ENOTSOCK
L'argument sockfd n'est pas une socket.
EOPNOTSUPP
Le type de socket ne supporte pas l'appel système listen().
 



CONFORMITÉ   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
BSD 4.4, POSIX.1-2001. L'appel système listen() est apparu dans BSD 4.2.  



NOTES   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
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 réclame pas l'inclusion de <sys/types.h>, et ce fichier d'entête n'est pas requis par Linux. Toutefois, certaines implémentations historiques (BSD) ont besoin de ce fichier d'entête et il serait probablement plus sage que les applications destinées à être portable l'incluent.

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 l'appel sysctl tcp_max_syn_backlog. Lorsque les syncookies sont activés, il n'y a pas de longueur maximale et la configuration sysctl est ignorée. Voir tcp(7) pour plus de détails.

Si l'argument backlog est supérieur à la valeur dans /proc/sys/net/core/somaxconn, il est silencieusement ramené à cette valeur ; la valeur par défaut dans ce fichier est 128. Dans les noyaux précédant le 2.4.25, cette limite était codée en dur, SO_MAXCONN, qui valait 128.  




EXEMPLE   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
Voir bind(2).  



VOIR AUSSI   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil
accept(2), bind(2), connect(2), socket(2)  



TRADUCTION   Début   Précédent   Suivant   Sommaire   Préc.page.lue   Accueil

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 11 octobre 1996 et révisée le 6 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 listen ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


 



Sommaire   Début   Suivant   Sommaire   Préc.page.lue   Accueil
NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
NOTES
EXEMPLE
VOIR AUSSI
TRADUCTION

Table des mots clés   Début   Suivant   Sommaire   Préc.page.lue   Accueil
EADDRINUSEERREURS
EBADFERREURS
ENOTSOCKERREURS
EOPNOTSUPPERREURS



Ce document a été créé par man2html suivi de man2html.pl, le 17/10/2008 17:50:40, en utilisant les pages de 'man'.
 

Valid HTML 4.01 Transitional