[Previous] [Contents] [Index] [Next]

listen()

Listen for connections on a socket

Synopsis:

#include <sys/socket.h>

int listen( int s,
            int backlog );

Library:

socket3r.lib, socket3s.lib

Description:

The listen() function listens for connections on a socket and puts the socket into the LISTEN state. For connections to be accepted, the following must occur:

  1. A socket is created with socket().
  2. A willingness to accept incoming connections and a queue limit for them are specified with listen().
  3. An accept() is issued to accept the connections.

The backlog parameter defines the maximum length that 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. But if the underlying protocol supports retransmission, the request may be ignored so that retries may succeed.


Note: The listen() call applies only to SOCK_STREAM sockets.

Returns:

0
Success.
-1
An error occurred (errno is set).

Errors:

EBADF
Invalid descriptor s.
EOPNOTSUPP
The socket isn't of a type that supports the listen() operation.

Classification:

Standard Unix, POSIX 1003.1g (draft)

Safety:
Interrupt handler No
Signal handler No
Thread Yes

See also:

accept(), connect(), socket()


[Previous] [Contents] [Index] [Next]