*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Linux man pages -> listen (2)              
Title
Content
Arch
Section
 

LISTEN(2)

Contents


NAME    [Toc]    [Back]

       listen - listen for connections on a socket

SYNOPSIS    [Toc]    [Back]

       #include <sys/socket.h>

       int listen(int s, int backlog);

DESCRIPTION    [Toc]    [Back]

       To  accept  connections,  a  socket  is first created with socket(2), a
       willingness to accept incoming connections and a queue limit for incoming
 connections are specified with listen, and then the connections are
       accepted with accept(2).  The listen call applies only  to  sockets  of
       type SOCK_STREAM or SOCK_SEQPACKET.

       The  backlog  parameter defines the maximum length the queue of pending
       connections may grow to.  If a  connection  request  arrives  with  the
       queue  full the client may receive an error with an indication of ECON-
       NREFUSED or, if the underlying protocol	supports  retransmission,  the
       request may be ignored so that retries succeed.

NOTES    [Toc]    [Back]

       The  behaviour  of  the	backlog  parameter on TCP sockets changed with
       Linux 2.2.  Now it specifies the queue  length  for  completely	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 the tcp_max_syn_backlog sysctl.  When
       syncookies are enabled there is no  logical  maximum  length  and  this
       sysctl setting is ignored.  See tcp(7) for more information.

RETURN VALUE    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

       EADDRINUSE
	      Another socket is already listening on the same port.

       EBADF  The argument s is not a valid descriptor.

       ENOTSOCK    [Toc]    [Back]
	      The argument s is not a socket.

       EOPNOTSUPP    [Toc]    [Back]
	      The socket is not of a type that supports the listen  operation.

CONFORMING TO    [Toc]    [Back]

       Single  Unix,  4.4BSD,  POSIX  1003.1g  draft. The listen function call
       first appeared in 4.2BSD.

BUGS    [Toc]    [Back]

       If the socket is of type AF_INET, and the backlog argument  is  greater
       than  the  constant  SOMAXCONN (128 in Linux 2.0 & 2.2), it is silently
       truncated to SOMAXCONN.	Don't rely on this value in portable  applications
  since BSD (and some BSD-derived systems) limit the backlog to 5.

SEE ALSO    [Toc]    [Back]

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



BSD Man Page			  1993-07-23			     LISTEN(2)
[ Back ]
 Similar pages
Name OS Title
listen Tru64 Listen for socket connections and limits the backlog of incoming connections
netstat Linux Print network connections, routing tables, interface statistics, masquerade connections, and multica...
mac_get FreeBSD get the label of a file, socket, socket peer or process
mac_get_proc FreeBSD get the label of a file, socket, socket peer or process
mac_get_fd FreeBSD get the label of a file, socket, socket peer or process
mac_get_file FreeBSD get the label of a file, socket, socket peer or process
mac_get_pid FreeBSD get the label of a file, socket, socket peer or process
t_listen Tru64 Listen for a connect request
t_listen IRIX listen for a connect request
t_listen HP-UX listen for a connect request
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service