COHERENT manpages
This page displays the COHERENT manpage for connect() [Connect to a socket].
List of available manpages
Index
connect() -- Sockets Function (libsocket) Connect to a socket #include <sys/types.h> #include <sys/socket.h> int connect(socket, name, namelen) int socket, namelen; struct sockaddr *name; The function connect() establishes a connection for a socket. socket is a file identifier that describes a socket possessed by the current process. It must have been returned by a call to socket(). If it is of type SOCK_DGRAM, connect() specifies the peer with which the socket is to be connected; this address is that to which datagrams are to be sent, and the only address from which datagrams are to be received. If, however, it is of type SOCK_STREAM, connect() attempts to connect it with another socket. The other socket is identified by name, which points to the full path name of the file to which the other socket is bound. This connection must have been established by a call to function bind(). namelen gives the length, in bytes, of the file name to which name points. As a rule, a socket of type SOCK_STREAM can successfully connect only once; however, those of type SOCK_DGRAM sockets can call connect() multiple times to change their association. Datagram sockets can dissolve the association by connecting to an invalid address, such as a null address. If the connection or binding succeeds, connect() returns zero. If an error occurs, it returns -1 and sets errno to an appropriate value. The following lists the errors that can occur, by the value to which connect() sets errno: EBADF socket is somehow invalid. ENOTSOCK socket references a file, not a socket. EADDRNOTAVAIL The address is not available on this machine. EAFNOSUPPORT Addresses in the specified address family cannot be used with socket. EISCONN socket is already connected to an address or socket. ETIMEDOUT connect() timed out without establishing a connection. ECONNREFUSED The attempt to connect was forcefully rejected. ENETUNREACH The network is not reachable from this host. EADDRINUSE The address is already in use. EFAULT name gives an illegal address. EINPROGRESS socket is non-blocking yet the connection cannot be completed immediately. EALREADY The socket is non-blocking and a previous call to connect() has not yet been completed. Example For an example of this function, see the Lexicon entry for libsocket. See Also accept(), getsockname(), libsocket, select(), socket()