Penguin
Annotated edit history of listen(2) version 4, including all changes. View license author blame.
Rev Author # Line
1 perry 1 !!NAME
2 PerryLorier 2 listen - listen for connections on a socket
1 perry 3
4 !!SYNOPSIS
2 PerryLorier 5 #include <sys/socket.h>
6 __int listen(int__ ''s''__, int__ ''backlog''__);__
1 perry 7
8 !!DESCRIPTION
2 PerryLorier 9 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
10 specified with listen(2), and then the connections are accepted with accept(2). The listen(2) call applies only to sockets of type __SOCK_STREAM__ or
1 perry 11 __SOCK_SEQPACKET__.
12
2 PerryLorier 13 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 [ECONNREFUSED] or, if the underlying protocol supports retransmission, the request may be ignored so that retries succeed.
1 perry 14
15 !!NOTES
2 PerryLorier 16 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.
1 perry 17
18 !!RETURN VALUE
2 PerryLorier 19 On success, zero is returned. On error, -1 is returned, and ''errno'' is set appropriately.
1 perry 20
21 !!ERRORS
2 PerryLorier 22 ;[EADDRINUSE]: Another socket is already listening on the same port.
23 ;[EBADF]: The argument ''s'' is not a valid descriptor.
24 ;[ENOTSOCK]: The argument ''s'' is not a socket.
25 ;[EOPNOTSUPP]: The socket is not of a type that supports the listen(2) operation.
1 perry 26
27 !!CONFORMING TO
2 PerryLorier 28 Single Unix, 4.4BSD, POSIX 1003.1g draft. The listen(2) function call first appeared in 4.2BSD.
1 perry 29 !!BUGS
4 JohnMcPherson 30 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.
1 perry 31
32 !!SEE ALSO
2 PerryLorier 33 accept(2), connect(2), socket(2)
3 PerryLorier 34
35 !!DISCUSSION
36 To use listen(2), you need a socket fd created with socket(2), and you probably also want to bind(2) it to a local port. So the sequence of actions you want are probably socket(2), bind(2) (optional, but recommended), listen(2), select(2) (optional), accept(2), close(2)
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.

PHP Warning

lib/blame.php:177: Warning: Invalid argument supplied for foreach() (...repeated 8 times)