connect(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

connect(3c)

Standard C Library Functions                                       connect(3C)



NAME
       connect - connect a socket

SYNOPSIS
       #include <sys/socket.h>

       int connect(int socket, const struct sockaddr *address,
           socklen_t address_len);

DESCRIPTION
       The  connect()  function  requests a connection to be made on a socket.
       The function takes the following arguments:

       socket         Specifies  the  file  descriptor  associated  with   the
                      socket.


       address        Points  to  a  sockaddr  structure  containing  the peer
                      address. The length and format of the address depend  on
                      the address family of the socket.


       address_len    Specifies  the  length of the sockaddr structure pointed
                      to by the address argument.



       The connect() call will bind the socket to a local unused address if it
       is not already bound and if the socket type is not AF_UNIX.


       If  the  initiating  socket is not connection-mode, then connect() sets
       the socket's peer address, but no connection is  made.  For  SOCK_DGRAM
       sockets,  the  peer  address identifies where all datagrams are sent on
       subsequent send(3C) calls, and limits the remote sender for  subsequent
       recv(3C)  calls.  If  address  is  a null address for the protocol, the
       socket's peer address will be reset.


       If the initiating socket is connection-mode, then connect() attempts to
       establish  a  connection  to the address specified by the address argu‐
       ment.


       If the connection cannot be established immediately and  O_NONBLOCK  is
       not  set  for  the file descriptor for the socket, connect() will block
       for up to an unspecified  timeout  interval  until  the  connection  is
       established.  If  the timeout interval expires before the connection is
       established, connect() will fail and the  connection  attempt  will  be
       aborted.  If  connect() is interrupted by a signal that is caught while
       blocked waiting to establish a connection, connect() will fail and  set
       errno to EINTR, but the connection request will not be aborted, and the
       connection will be established asynchronously.


       If the connection cannot be established immediately and  O_NONBLOCK  is
       set for the file descriptor for the socket, connect() will fail and set
       errno to EINPROGRESS, but the connection request will not  be  aborted,
       and the connection will be established asynchronously. Subsequent calls
       to connect() for the same socket, before the connection is established,
       will fail and set errno to EALREADY.


       When the connection has been established asynchronously, select(3C) and
       poll(2) will indicate that the file descriptor for the socket is  ready
       for writing.


       The  socket  in  use may require the process to have appropriate privi‐
       leges to use the connect() function.

USAGE
       If connect() fails, the state of the socket  is  unspecified.  Applica‐
       tions  should  close the file descriptor and create a new socket before
       attempting to reconnect.

RETURN VALUES
       Upon successful completion,  connect()  returns  0.  Otherwise,  −1  is
       returned and errno is set to indicate the error.

ERRORS
       The connect() function will fail if:

       EADDRNOTAVAIL    The  specified address is not available from the local
                        machine.


       EAFNOSUPPORT     The specified address is not a valid address  for  the
                        address family of the specified socket.


       EALREADY         A  connection  request  is already in progress for the
                        specified socket.


       EBADF            The socket argument is not a valid file descriptor.


       ECONNREFUSED     The target address was not listening  for  connections
                        or refused the connection request.


       EFAULT           The address parameter can not be accessed.


       EINPROGRESS      O_NONBLOCK  is  set  for  the  file descriptor for the
                        socket and the connection cannot be immediately estab‐
                        lished;  the  connection  will  be  established  asyn‐
                        chronously.


       EINTR            The attempt to establish a connection was  interrupted
                        by  delivery  of a signal that was caught; the connec‐
                        tion will be established asynchronously.


       EISCONN          The specified socket is connection-mode and is already
                        connected.


       ENETUNREACH      No route to the network is present.


       ENOTSOCK         The socket argument does not refer to a socket.


       EPROTOTYPE       The  specified  address  has a different type than the
                        socket bound to the specified peer address.


       ETIMEDOUT        The attempt to connect timed out before  a  connection
                        was made.



       If  the  address  family  of the socket is AF_UNIX, then connect() will
       fail if:

       EIO             An I/O error occurred while reading from or writing  to
                       the file system.


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


       ENAMETOOLONG    A component of a pathname exceeded NAME_MAX characters,
                       or an entire pathname exceeded PATH_MAX characters.


       ENOENT          A  component  of the pathname does not name an existing
                       file or the pathname is an empty string.


       ENOTDIR         A component of the  path  prefix  of  the  pathname  in
                       address is not a directory.



       The connect() function may fail if:

       EACCES          Search permission is denied for a component of the path
                       prefix; or write access to the named socket is  denied.
                       Permission checks may be skipped for AF_UNIX sockets if
                       the code was built with  __USE_SUNOS_SOCKETS__  defined
                       before  including  the  <sys/socket.h> header, or if it
                       was built on Oracle Solaris  11.3  or  earlier  without
                       requesting POSIX or X/Open standards conformance.


       EADDRINUSE      Attempt  to  establish a connection that uses addresses
                       that are already in use.


       ECONNRESET      Remote host reset the connection request.


       EHOSTUNREACH    The  destination  host  cannot  be  reached   (probably
                       because  the  host  is  down  or a remote router cannot
                       reach it).


       EINVAL          The address_len argument is not a valid length for  the
                       address  family;  or invalid address family in sockaddr
                       structure.


       ENAMETOOLONG    Pathname resolution of  a  symbolic  link  produced  an
                       intermediate result whose length exceeds PATH_MAX.


       ENETDOWN        The  local  interface  used to reach the destination is
                       down.


       ENOBUFS         No buffer space is available.


       ENOSR           There were insufficient STREAMS resources available  to
                       complete the operation.


       EOPNOTSUPP      The socket is listening and can not be connected.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       tab()  box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
       TRIBUTE VALUE _ Interface  StabilityCommitted  _  MT-LevelAsync-Signal-
       Safe _ StandardSee standards(7).


SEE ALSO
       close(2),  poll(2),  accept(3C), bind(3C), getsockname(3C), select(3C),
       send(3C),  shutdown(3C),  socket(3C),  socket.h(3HEAD),  attributes(7),
       standards(7)

HISTORY
       The  connect()  function  has been present since the initial release of
       Solaris.



Oracle Solaris 11.4               2 Feb 2021                       connect(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3