/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


LISTEN(2)                                           Linux Programmer's Manual                                          LISTEN(2)



NAME
       listen - listen for connections on a socket

SYNOPSIS
       #include <sys/types.h>          /* See NOTES */
       #include <sys/socket.h>

       int listen(int sockfd, int backlog);

DESCRIPTION
       listen()  marks  the  socket  referred to by sockfd as a passive socket, that is, as a socket that will be used to accept
       incoming connection requests using accept(2).

       The sockfd argument is a file descriptor that refers to a socket of type SOCK_STREAM or SOCK_SEQPACKET.

       The backlog argument defines the maximum length to which the queue of pending connections for sockfd may grow.  If a con-
       nection request arrives when the queue is full, the client may receive an error with an indication of ECONNREFUSED or, if
       the underlying protocol supports retransmission, the request may be ignored so that a later reattempt at connection  suc-
       ceeds.

RETURN VALUE
       On success, zero is returned.  On error, -1 is returned, and errno is set appropriately.

ERRORS
       EADDRINUSE
              Another socket is already listening on the same port.

       EBADF  The argument sockfd is not a valid descriptor.

       ENOTSOCK
              The argument sockfd is not a socket.

       EOPNOTSUPP
              The socket is not of a type that supports the listen() operation.

CONFORMING TO
       4.4BSD, POSIX.1-2001.  The listen() function call first appeared in 4.2BSD.

NOTES
       To accept connections, the following steps are performed:

           1.  A socket is created with socket(2).

           2.  The socket is bound to a local address using bind(2), so that other sockets may be connect(2)ed to it.

           3.  A  willingness  to accept incoming connections and a queue limit for incoming connections are specified with lis-
               ten().

           4.  Connections are accepted with accept(2).

       POSIX.1-2001 does not require the inclusion of <sys/types.h>, and this header file is not required  on  Linux.   However,
       some  historical  (BSD) implementations required this header file, and portable applications are probably wise to include
       it.

       The behavior of the backlog argument on TCP sockets changed with Linux 2.2.  Now it specifies the queue length  for  com-
       pletely established sockets waiting to be accepted, instead of the number of incomplete connection requests.  The maximum
       length of the queue for incomplete sockets can be set using /proc/sys/net/ipv4/tcp_max_syn_backlog.  When syncookies  are
       enabled there is no logical maximum length and this setting is ignored.  See tcp(7) for more information.

       If  the backlog argument is greater than the value in /proc/sys/net/core/somaxconn, then it is silently truncated to that
       value; the default value in this file is 128.  In kernels before 2.4.25, this limit was a hard  coded  value,  SOMAXCONN,
       with the value 128.

EXAMPLE
       See bind(2).

SEE ALSO
       accept(2), bind(2), connect(2), socket(2), socket(7)

COLOPHON
       This  page  is  part of release 3.25 of the Linux man-pages project.  A description of the project, and information about
       reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.



Linux                                                      2008-11-20                                                  LISTEN(2)

Valid XHTML 1.0!Valid CSS!