Provided by: manpages-es-dev_4.27.0-1_all bug

NOMBRE

       connect - inicia una conexión en un conector (socket)

BIBLIOTECA

       Biblioteca Estándar C (libc, -lc)

SINOPSIS

       #include <sys/socket.h>

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

DESCRIPCIÓN

       The  connect()   system call connects the socket referred to by the file descriptor sockfd to the address
       specified by addr.  The addrlen argument specifies the size of addr.  The format of the address  in  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 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 addr.

       Some protocol sockets (e.g., UNIX domain stream sockets)  may successfully connect()  only once.

       Some  protocol  sockets  (e.g.,  datagram  sockets  in  the UNIX and Internet domains)  may use connect()
       multiple times to change their association.

       Some protocol sockets (e.g., TCP sockets as well as datagram sockets in the UNIX  and  Internet  domains)
       may  dissolve  the  association  by connecting to an address with the sa_family member of sockaddr set to
       AF_UNSPEC; thereafter, the socket can be connected to another address.   (AF_UNSPEC  is  supported  since
       Linux 2.2.)

VALOR DEVUELTO

       Si  la  conexión  o enlace tiene éxito, se devuelve 0. En caso de error, se devuelve -1, y se asigna a la
       variable errno un valor apropiado.

ERRORES

       Los siguientes sólo son errores generales de conector.  Puede haber otros códigos  de  error  específicos
       del dominio.

       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(7).)

       EACCES
       EPERM  El  usuario  ha  intentado  conectarse a una dirección de difusión (broadcast) sin que el conector
              tenga activa la opción de difusión, o la petición de conexión ha fallado debido a  una  regla  del
              cortafuegos local.

       EACCES It  can  also  be  returned  if  an SELinux policy denied a connection (for example, if there is a
              policy saying that an HTTP proxy can only connect to ports associated with HTTP servers,  and  the
              proxy tries to connect to a different port).

       EADDRINUSE
              La dirección local ya está en uso.

       EADDRNOTAVAIL
              (Internet  domain  sockets)   The socket referred to by sockfd had not previously been bound to an
              address and, upon attempting to bind it to an ephemeral port, it  was  determined  that  all  port
              numbers   in   the   ephemeral   port   range  are  currently  in  use.   See  the  discussion  of
              /proc/sys/net/ipv4/ip_local_port_range in ip(7).

       EAFNOSUPPORT
              La dirección pasada no tiene la familia de direcciones correcta en su campo sa_family.

       EAGAIN For nonblocking UNIX domain sockets, the socket is  nonblocking,  and  the  connection  cannot  be
              completed  immediately.   For other socket families, there are insufficient entries in the routing
              cache.

       EALREADY
              El conector es no bloqueante y todavía no se ha terminado un intento de conexión anterior.

       EBADF  sockfd no es descriptor válido de archivos abiertos.

       ECONNREFUSED
              Un connect() en un conector de flujo, no ha econtrado a nadie a la esucha en la dirección remota.

       EFAULT La estructura de dirección del conector está fuera del espacio de direcciones del usuario.

       EINPROGRESS
              The socket is nonblocking and the  connection  cannot  be  completed  immediately.   (UNIX  domain
              sockets  failed  with EAGAIN instead.)  It is possible to select(2)  or poll(2)  for completion by
              selecting the socket for writing.  After select(2)  indicates writability, use  getsockopt(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  La señal atrapada ha interrumpido la llamada del sistema; consulte signal(7).

       EISCONN
              El conector ya está conectado.

       ENETUNREACH
              Red inaccesible.

       ENOTSOCK
              El descriptor de archivo sockfd no se refiere a un conector.

       EPROTOTYPE
              The socket type does not support the requested communications protocol.  This error can occur, for
              example, on an attempt to connect a UNIX domain datagram socket to a stream socket.

       ETIMEDOUT
              Finalizó el plazo de tiempo mientras se intentaba la conexión. El servidor puede  estar  demasiado
              ocupado  para  aceptar  nuevas  conexiones.  Dese cuenta que para conectores IP el plazo de tiempo
              puede ser muy largo cuando se han habilitado los "syncookies" en el servidor.

ESTÁNDARES

       POSIX.1-2008.

HISTORIAL

       POSIX.1-2001, SVr4, 4.4BSD, (connect()  first appeared in 4.2BSD).

NOTAS

       If connect()  fails, consider the state of the socket as unspecified.  Portable applications should close
       the socket and create a new one for reconnecting.

EJEMPLOS

       En getaddrinfo(3) tiene un ejemplo del uso de connect().

VÉASE TAMBIÉN

       accept(2), bind(2), getsockname(2), listen(2), socket(2), path_resolution(7), selinux(8)

TRADUCCIÓN

       La  traducción  al  español  de  esta  página  del  manual  fue  creada  por   Miguel   Angel   Sepulveda
       <angel@vivaldi.princeton.edu>,  Cesar D. Lobejon <cesar@alien.mec.es>, Juan Piernas <piernas@ditec.um.es>
       y Marcos Fouces <marcos@debian.org>

       Esta traducción es documentación libre;  lea  la  GNU General Public License Version 3  o  posterior  con
       respecto a las condiciones de copyright.  No existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción  de esta página del manual, envíe un correo electrónico a
       debian-l10n-spanish@lists.debian.org.

Páginas de Manual de Linux 6.9.1                   2 Mayo 2024                                        connect(2)