Initiate a connection on a socket.
#include <sys/types.h> #include <sys/socket.h> int connect(int s, const struct sockaddr *name, socklen_t namelen);
The s argument is a socket. If it is of type SOCK_DGRAM, this call specifies the peer with which the socket is to be associated; this address is that to which datagrams are to be sent, and the only address from which datagrams are to be received. If the socket is of type SOCK_STREAM,this call attempts to make a connection to another socket. The other socket is specified by name , which is an address in the communications space of the socket. Each communications space interprets the name argument in its own way. Generally, stream sockets may successfully connect() only once; datagram sockets may use connect() multiple times to change their association. Datagram sockets may dissolve the association by connecting to an invalid address, such as a null address.
0 (zero) 
-1 
EBADF | 
The s argument is not a valid descriptor. | 
ENOTSOCK | 
The s argument is a descriptor for a file, not a socket | 
EADDRNOTAVAIL | 
The specified address is not available on this machine. | 
EAFNOSUPPORT | 
Addresses in the specified address family cannot be used with this socket. | 
EISCONN | 
The socket is already connected. | 
ETIMEDOUT | 
Connection establishment timed out without establishing a connection. | 
ECONNREFUSED | 
The attempt to connect was forcefully rejected. | 
ENETUNREACH | 
The network is not reachable from this host. | 
EHOSTUNREACH | 
The remote host is not reachable from this host. | 
EADDRINUSE | 
The address is already in use. | 
EFAULT | 
The name argument specifies an area outside the process address space. | 
EINPROGRESS | 
The socket is non-blocking and the connection cannot be completed immediately. It is possible to select for completion by selecting the socket for writing. | 
EINTR | 
The connection attempt was interrupted by the delivery of a signal. The connection will be established in the background, as in the case of EINPROGRESS. | 
EALREADY | 
A previous connection attempt has not yet been completed. | 
EACCES | 
An attempt is made to connect to a broadcast address (obtained through the INADDR_BROADCAST constant or the INADDR_NONE return value) through a socket that does not provide broadcast functionality. | 
EAGAIN | 
An auto-assigned port number was requested but no auto-assigned ports are available. Increasing the port range specified by sysctl MIB variables net.inet.ip.portrange.first and net.inet.ip.portrange.last may alleviate the problem. | 
| Versions | Link to | 
|---|---|
| INtime 4.0 | netlib.lib |