LISTEN(2) | System Calls Manual | LISTEN(2) |
listen
— listen
for connections on a socket
#include
<sys/socket.h>
int
listen
(int socket,
int backlog);
Creation of socket-based connections requires several operations.
First, a socket is created with
socket(2). Next, a willingness to
accept incoming connections and a queue limit for incoming connections are
specified with
listen
().
Finally, the connections are accepted with
accept(2). The
listen
() call applies only to sockets of type
SOCK_STREAM.
The backlog parameter defines the maximum
length for the queue of pending connections. If a connection request arrives
with the queue full, the client may receive an error with an indication of
ECONNREFUSED
. Alternatively, if the underlying
protocol supports retransmission, the request may be ignored so that retries
may succeed.
The listen
() function returns the
value 0 if successful; otherwise the value -1 is returned and
the global variable errno is set to indicate the
error.
listen
() will fail if:
EACCES
]EBADF
]EDESTADDRREQ
]EINVAL
]ENOTSOCK
]EOPNOTSUPP
]listen
().The backlog is currently limited (silently) to 128.
The listen
() function call appeared in
4.2BSD.
March 18, 2015 | BSD 4.2 |