listen

LISTEN(2)               Manual del Programador de Linux              LISTEN(2)



NOMBRE
       listen - espera conexiones en un conector (socket)

SINOPSIS
       #include <sys/socket.h>

       int listen(int s, int backlog);

DESCRIPCIÃN
       Para aceptar conexiones, primero se crea un conector con socket(2),
       luego se especifica con listen el deseo de aceptar conexiones entrantes
       y un lÃmite de la cola para dichas conexiones, y por último las
       conexiones son aceptadas mediante accept(2).  La llamada listen se
       aplica solamente a conectores de tipo SOCK_STREAM o SOCK_SEQPACKET.

       El parámetro backlog define la longitud máxima a la que puede llegar
       la cola de conexiones pendientes. Si una petición de conexión llega
       estando la cola llena, el cliente puede recibir un error con una
       indicación de ECONNREFUSED o, si el protocolo subyacente acepta
       retransmisiones, la petición puede no ser tenida en cuenta, de forma
       que un reintento tenga éxito.

OBSERVACIONES
       El comportamiento del parámetro backlog sobre conectores TCP ha
       cambiado con la versión 2.2 de Linux.  Ahora indica la longitud de la
       cola para conectores establecidos completamente que esperan ser
       aceptados, en lugar del número de peticiones de conexión incompletas.
       La longitud máxima de la cola para conectores incompletos se puede
       configurar con la sysctl tcp_max_syn_backlog.  Cuando los "syncookies"
       están activos, no existe una longitud máxima lógica y la
       configuración de esta sysctl se ignora.  Vea tcp(7) para más
       información.


VALOR DEVUELTO
       En caso de éxito, se devuelve cero. En caso de error, se devuelve -1 y
       se pone en errno un valor apropiado.

ERRORES
       EADDRINUSE
              Otro conector ya se encuentra escuchando en el mismo puerto.

       EBADF  El argumento s no es un descriptor válido.

       ENOTSOCK
              El argumento s no es un conector.

       EOPNOTSUPP
              El conector no es de un tipo que admita la operación listen.

CONFORME A
       Single Unix, 4.4BSD, borrador POSIX 1003.1g. La llamada a función
       listen apareció por 1ª vez en 4.2BSD.

FALLOS
       Si el conector es de tipo AF_INET y el argumento backlog es mayor que
       la constante SOMAXCONN (128 en 2.0 y 2.2), se trunca silenciosamente a
       SOMAXCONN.  Para aplicaciones transportables, no confÃe en este valor
       puesto que BSD (y algunos sistemas derivados de BSD) limitan backlog a
       5.

VÃASE TAMBIÃN
       accept(2), connect(2), socket(2)



BSD                             22 octubre 1996                      LISTEN(2)