CONNECT(2)                                                          CONNECT(2)


NAME
       connect - initiate a connection on a socket

SYNOPSIS
       #include <sys/types.h>
       #include <sys/socket.h>

       connect(s, name, namelen)
       int s;
       struct sockaddr *name;
       int namelen;

DESCRIPTION
       The  parameter  s  is a socket.  If it is of type SOCK_DGRAM, then 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,  then  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 parameter in its own way.  Generally, stream  sock‐
       ets  may  successfully connect only once; datagram sockets may use con
       nect multiple times to change their association.  Datagram sockets  may
       dissolve the association by connecting to an invalid address, such as a
       null address.

RETURN VALUE
       If the connection or binding succeeds, then 0 is returned.  Otherwise a
       -1 is returned, and a more specific error code is stored in errno.

ERRORS
       The call fails if:

       [EBADF]             S is not a valid descriptor.

       [ENOTSOCK]          S 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 estab‐
                           lishing a connection.

       [ECONNREFUSED]      The attempt to connect was forcefully rejected.

       [ENETUNREACH]       The network isn’t reachable from this host.

       [EADDRINUSE]        The address is already in use.

       [EFAULT]            The name parameter specifies an  area  outside  the
                           process address space.

       [EINPROGRESS]       The  socket is non-blocking and the connection can‐
                           not be completed immediately.  It  is  possible  to
                           select(2)  for  completion  by selecting the socket
                           for writing.

       [EALREADY]          The socket is non-blocking and a  previous  connec‐
                           tion attempt has not yet been completed.

       The  following  errors  are  specific  to  connecting names in the UNIX
       domain.  These errors may not apply in future versions of the UNIX  IPC
       domain.

       [ENOTDIR]      A component of the path prefix is not a directory.

       [EINVAL]       The  pathname  contains  a character with the high-order
                      bit set.

       [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an
                      entire path name exceeded 1023 characters.

       [ENOENT]       The named socket does not exist.

       [EACCES]       Search  permission is denied for a component of the path
                      prefix.

       [EACCES]       Write access to the named socket is denied.

       [ELOOP]        Too many symbolic links were encountered in  translating
                      the pathname.

SEE ALSO
       accept(2), select(2), socket(2), getsockname(2)


4.2 Berkeley Distribution        May 22, 1986                       CONNECT(2)
 
Generated: 2016-12-26
Generated by man2html V0.25
page hit count: 883
Valid CSS Valid XHTML 1.0 Strict