In making a connection, the client makes a connection while the server
waits for and accepts the connection. Here we discuss what the client
program must do with the connect function, which is declared in
`sys/socket.h'.
connect function initiates a connection from the socket
with file descriptor socket to the socket whose address is
specified by the addr and length arguments. (This socket
is typically on another machine, and it must be already set up as a
server.) See section Socket Addresses, for information about how these
arguments are interpreted.
Normally, connect waits until the server responds to the request
before it returns. You can set nonblocking mode on the socket
socket to make connect return immediately without waiting
for the response. See section File Status Flags, for information about
nonblocking mode.
The normal return value from connect is 0. If an error
occurs, connect returns -1. The following errno
error conditions are defined for this function:
EBADF
ENOTSOCK
EADDRNOTAVAIL
EAFNOSUPPORT
EISCONN
ETIMEDOUT
ECONNREFUSED
ENETUNREACH
EADDRINUSE
EINPROGRESS
select; see section Waiting for Input or Output.
Another connect call on the same socket, before the connection is
completely established, will fail with EALREADY.
EALREADY
EINPROGRESS above).
This function is defined as a cancellation point in multi-threaded programs, so one has to be prepared for this and make sure that allocated resources (like memory, files descriptors, semaphores or whatever) are freed even if the thread is canceled.
Go to the first, previous, next, last section, table of contents.