Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

LISTEN

Section: Manuel du programmeur Linux (2)
Updated: 18 juillet 2003
Index


NOM
SYNOPSIS
DESCRIPTION
VALEUR RENVOYÉE
ERREURS
CONFORMITÉ
BOGUES
VOIR AUSSI
TRADUCTION

NOM

listen - Attendre des connexions sur une socket.

SYNOPSIS

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

DESCRIPTION

Pour accepter des connexions, une socket est d'abord créée avec socket(2), puis le désir d'accepter des connexions entrantes, et la limite de la file d'entrée sont indiqués avec listen, ensuite les connexions seront acceptées avec accept(2). L'appel système listen s'applique seulement aux sockets de type SOCK_STREAM ou SOCK_SEQPACKET.
Le paramètre backlog définit une longueur maximale pour la file des connexions en attente. 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. 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étail.

VALEUR RENVOYÉE

listen renvoie 0 si il réussit, ou -1 en cas d'échec, auquel cas errno contient le code d'erreur.

ERREURS

EADDRINUSE
Une autre socket est déjà à l'écoute sur le même port.
EBADF
s n'est pas un descripteur valide
ENOTSOCK
L'argument s n'est pas une socket.
EOPNOTSUPP
Le type de socket ne supporte pas l'appel système listen.

CONFORMITÉ

SVr4, BSD (l'appel système listen est apparu dans BSD 4.2).

BOGUES

Si la socket est de type AF_INET (internet), et si l'argument backlog est supérieur à la constante SOMAXCONN (128 dans Linux 2.0 et 2.2), il est silencieusement ramené à SO_MAXCONN. Pour la portabilité des applications, ne vous fiez pas à cette valeur puisque BSD (et d'autres dérivés) limitent l'argument backlog à 5.

VOIR AUSSI

accept(2), connect(2), socket(2)

TRADUCTION

Christophe Blaess, 1996-2003.
Responsable bénévole de la rubrique Linux Professionnel : Olivier Van Hoof - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.