listen —
listen
for connections on a socket
Standard C Library (libc, -lc)
#include
<sys/types.h>
#include
<sys/socket.h>
int
listen(
int s,
int backlog);
To accept connections, a socket is first created with
socket(3C), a backlog for incoming connections is
specified with
listen() and then the connections
are accepted with
accept(3C). 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 will receive an
error with an indication of
ECONNREFUSED
for
AF_UNIX
sockets. If the underlying
protocol supports retransmission, the connection request may be ignored so
that retries may succeed. For
AF_INET
and
AF_INET6
sockets, the TCP will retry the
connection. If the
backlog is not cleared by
the time the tcp times out, the connect will fail with
ETIMEDOUT
.
A 0 return value indicates success; -1 indicates an error.
The call fails if:
-
-
- [
EBADF
]
- The argument s is not a
valid file descriptor.
-
-
- [
ENOTSOCK
]
- The argument s is not a
socket.
-
-
- [
EOPNOTSUPP
]
- The socket is not of a type that supports the operation
listen().
Safe
accept(3C),
connect(3C),
socket(3C),
socket.h(3HEAD),
attributes(5)
There is currently no
backlog limit.