CONNECT(2)

CONNECT(2)

close Home Page System Calls Index creat


NAME
       connect - initiate a connection on a socket

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

       int  connect(int  sockfd, struct sockaddr *serv_addr, int
       addrlen );

DESCRIPTION
       The parameter sockfd 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
       serv_addr, which is an address in the communications space
       of the socket.  Each communications space  interprets  the
       serv_addr,  parameter  in  its own way.  Generally, stream
       sockets may successfully connect only once; datagram sock-
       ets may use connect multiple times to change their associ-
       ation.  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, zero  is  returned.
       On  error, -1 is returned, and errno is set appropriately.

ERRORS
       The following are general socket errors only.   There  may
       be other domain-specific error codes.

       EBADF  Bad descriptor.

       EFAULT The   socket  structure  address  is  outside  your
              address space.

       ENOTSOCK
              The descriptor is not associated with a socket.

       EISCONN
              The socket is already connected.

       ECONNREFUSED
              Connection refused at server.

       ETIMEDOUT
              Timeout while attempting connection.

       ENETUNREACH
              Network is unreachable.

       EADDRINUSE
              Address is already in use.

       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.  After  select indicates writability,
              use getsockopt(2) to read the  SO_ERROR  option  at
              level  SOL_SOCKET to determine whether connect com-
              pleted successfully (SO_ERROR is  zero)  or  unsuc-
              cessfully (SO_ERROR is one of the usual error codes
              listed above, explaining the reason for  the  fail-
              ure).

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

CONFORMING TO
       SVr4, 4.4BSD (the connect function first appeared  in  BSD
       4.2).   SVr4 documents additional general error codes EAD-
       DRNOTAVAIL, EINVAL, EAFNOSUPPORT, EALREADY, EINTR, EPROTO-
       TYPE, ENOSR.  It also documents many additional error con-
       ditions not described here.

SEE ALSO
       accept(2) bind(2) listen(2) socket(2) getsockname(2) 

close Home Page System Calls Index creat