connect - phpMan

Command: man perldoc info search(apropos)  


CONNECT(2)                 Linux Programmer's Manual                CONNECT(2)



NAME
       connect - initiate a connection on a socket

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

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

DESCRIPTION
       The  connect()  system  call connects the socket referred to by the file descriptor
       sockfd to the address specified by serv_addr.  The addrlen argument  specifies  the
       size  of  serv_addr.   The  format of the address in serv_addr is determined by the
       address space of the socket sockfd; see socket(2) for further details.

       If the socket sockfd is of type SOCK_DGRAM then serv_addr is the address  to  which
       datagrams  are  sent  by  default,  and  the  only address from which datagrams are
       received.  If the socket is  of  type  SOCK_STREAM  or  SOCK_SEQPACKET,  this  call
       attempts  to make a connection to the socket that is bound to the address specified
       by serv_addr.

       Generally, connection-based protocol sockets may successfully connect() only  once;
       connectionless  protocol  sockets  may use connect() multiple times to change their
       association.  Connectionless sockets may dissolve the association by connecting  to
       an address with the sa_family member of sockaddr set to AF_UNSPEC.

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.

       EACCES For  Unix domain sockets, which are identified by pathname: Write permission
              is denied on the socket file, or search permission is denied for one of  the
              directories in the path prefix.  (See also path_resolution(2).)

       EACCES, EPERM
              The  user  tried to connect to a broadcast address without having the socket
              broadcast flag enabled or the connection request failed because of  a  local
              firewall rule.

       EADDRINUSE
              Local address is already in use.

       EAFNOSUPPORT
              The  passed  address didn't have the correct address family in its sa_family
              field.

       EAGAIN No more free local ports or insufficient entries in the routing  cache.  For
              PF_INET  see  the  net.ipv4.ip_local_port_range  sysctl  in  ip(7) on how to
              increase the number of local ports.

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

       EBADF  The file descriptor is not a valid index in the descriptor table.

       ECONNREFUSED
              No one listening on the remote address.

       EFAULT The socket structure address is outside the user's address space.

       EINPROGRESS
              The  socket  is  non-blocking and the connection cannot be completed immedi-
              ately.  It is possible to select(2) or poll(2) for completion  by  selecting
              the  socket for writing. After select(2) indicates writability, use getsock-
              opt(2) to read the SO_ERROR option at level SOL_SOCKET to determine  whether
              connect()  completed  successfully  (SO_ERROR  is  zero)  or  unsuccessfully
              (SO_ERROR is one of the usual error codes listed here, explaining the reason
              for the failure).

       EINTR  The system call was interrupted by a signal that was caught.

       EISCONN
              The socket is already connected.

       ENETUNREACH
              Network is unreachable.

       ENOTSOCK
              The file descriptor is not associated with a socket.

       ETIMEDOUT
              Timeout  while  attempting  connection. The server may be too busy to accept
              new connections. Note that for IP sockets the timeout may be very long  when
              syncookies are enabled on the server.

CONFORMING TO
       SVr4, 4.4BSD (the connect() function first appeared in 4.2BSD).

NOTE
       The  third argument of connect() is in reality an int (and this is what 4.x BSD and
       libc4 and libc5 have).  Some POSIX confusion resulted  in  the  present  socklen_t,
       also used by glibc.  See also accept(2).

BUGS
       Unconnecting  a  socket  by  calling  connect() with a AF_UNSPEC address is not yet
       implemented.

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



Linux 2.6.7                       2004-06-23                        CONNECT(2)

Generated by $Id: phpMan.php,v 4.54 2007/08/21 09:05:22 chedong Exp $ Author: Che Dong
On Apache/2.2.3 (CentOS)
Under GNU General Public License
2009-07-04 10:04 @127.0.0.1 CrawledBy CCBot/1.0 (+http://www.commoncrawl.org/bot.html)
Valid XHTML 1.0!Valid CSS!