LISTEN(2)

NOM
listen - Attendre des connexions sur une socket.

SYNOPSIS
#include <sys/socket.h>

int listen(int s, int backlog);

DESCRIPTION
listen est generalement utilise avec des processus serveurs orientes-connexion. Pour accepter des connexions, une socket est d'abord cree avec socket(2), puis le desir d'accepter des connexions entrantes, et la limite de la file d'entree sont indiques avec listen, ensuite les connexions seront acceptees avec accept(2). L'appel systeme listen s'applique seulement aux sockets de type SOCK_STREAM ou SOCK_SEQPACKET. Le parametre backlog definit une longueur maximale pour la file des connexions en attente. Si une nouvelle connexion arrrive alors que la file est pleine, le client recoit une erreur indiquant ECONNREFUSED, ou, si le protocole sous-jacent supporte les retranmissions, la requete peut etre ignoree afin qu'un nouvel essai reussisse.

VALEUR RENVOYEE
listen renvoie 0 si il reussit, ou -1 en cas d'echec, auquel cas errno contient le code d'erreur.

ERREURS

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 systeme listen.

CONFORMITE
SVr4, BSD (l'appel systeme listen est apparu dans BSD 4.2).

BUGS
Si la socket est de type AF_INET (internet), et si l'argument backlog est superieur a 128, il est silencieusement ramene a SO_MAXCONN. Pour la portabilite des applications, ne vous fiez pas a cette valeur puisque BSD (et d'autres derives) limitent l'argument backlog a 5.

VOIR AUSSI
accept(2), connect(2), socket(2)