.\" -*- coding: UTF-8 -*- .\" Copyright 1993, Rickard E. Faith .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" .\" Other portions are from the 6.9 (Berkeley) 3/10/91 man page: .\" .\" Copyright 1983, The Regents of the University of California. .\" .\" SPDX-License-Identifier: BSD-4-Clause-UC .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH connect 2 "8 Febrero 2026" "Linux man\-pages 6.18" .SH NOMBRE connect \- inicia una conexión en un conector (socket) .SH BIBLIOTECA Biblioteca Estándar C (\fIlibc\fP,\ \fI\-lc\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint connect(int \fP\fIsockfd\fP\fB, const struct sockaddr *\fP\fIaddr\fP\fB,\fP \fB socklen_t \fP\fIaddrlen\fP\fB);\fP .fi .SH DESCRIPCIÓN La llamada al sistema \fBconnect\fP() conecta el socket al que hace referencia el descriptor de archivo \fIsockfd\fP con la dirección definida en \fIaddr\fP. El argumento \fIaddrlen\fP definirá el tamaño de \fIaddr\fP. El formato de la dirección en \fIaddr\fP se determina por el espacio de direcciones del socket \fIsockfd\fP; consulte \fBsocket\fP(2) para más detalles. .P Si el socket \fIsockfd\fP es de tipo \fBSOCK_DGRAM\fP, entonces \fIaddr\fP es la dirección a la que se envían los datagramas por defecto y la única dirección desde la que se reciben. Si el socket es de tipo \fBSOCK_STREAM\fP o \fBSOCK_SEQPACKET\fP, esta llamada intenta establecer una conexión con el socket vinculado a la dirección indicada en \fIaddr\fP. .P Algunos sockets de protocolo (por ejemplo, los sockets de flujo de dominio UNIX) pueden ejecutar \fBconnect\fP() correctamente una única vez. .P Algunos sockets de protocolo (por ejemplo, los sockets de datagramas en los dominios UNIX e Internet) pueden usar \fBconnect\fP() múltiples veces para cambiar su asociación. .P Algunos sockets de protocolo (por ejemplo, los sockets TCP, así como los de datagramas en los dominios UNIX e Internet) pueden finalizar la asociación al conectarse a una dirección cuyo miembro \fIsa_family\fP de \fIsockaddr\fP esté definido en \fBAF_UNSPEC\fP. Posteriormente, el socket podrá conectarse a otra dirección. \fBAF_UNSPEC\fP es compatible desde Linux 2.2. .SH "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 \fIerrno\fP un valor apropiado. .SH ERRORES Los siguientes sólo son errores generales de conector. Puede haber otros códigos de error específicos del dominio. .TP \fBEACCES\fP Para sockets de dominio UNIX, que se identifican por la ruta de acceso: Se deniega el permiso de escritura en el archivo del socket o se deniega el permiso de búsqueda para uno de los directorios en el prefijo de la ruta. (Consulte también \fBpath_resolution\fP(7).) .TP \fBEACCES\fP .TQ \fBEPERM\fP 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. .TP \fBEACCES\fP También se puede retornar si una norma de SELinux denegó una conexión (por ejemplo, si existe una norma que indica que un proxy HTTP solo puede conectarse a puertos asociados con servidores HTTP y el proxy intenta conectarse a un puerto diferente). .TP \fBEADDRINUSE\fP La dirección local ya está en uso. .TP \fBEADDRNOTAVAIL\fP (Sockets de dominio de Internet) El socket al que hace referencia \fIsockfd\fP no se había vinculado previamente a una dirección y, al intentar vincularlo a un puerto efímero, se determinó que todos los números de puerto en el rango de puertos efímeros están actualmente en uso. Consulte la explicación de \fI/proc/sys/net/ipv4/ip_local_port_range\fP en \fBip\fP(7). .TP \fBEAFNOSUPPORT\fP La dirección pasada no tiene la familia de direcciones correcta en su campo \fIsa_family\fP. .TP \fBEAGAIN\fP Para sockets de dominio UNIX sin bloqueo, el socket es sin bloqueo y la conexión no se puede completar inmediatamente. Para otras familias de sockets, no hay suficientes entradas en el caché de enrutamiento. .TP \fBEALREADY\fP El conector es no bloqueante y todavía no se ha terminado un intento de conexión anterior. .TP \fBEBADF\fP \fIsockfd\fP no es descriptor válido de archivos abiertos. .TP \fBECONNREFUSED\fP Un \fBconnect\fP() en un conector de flujo, no ha econtrado a nadie a la esucha en la dirección remota. .TP \fBEFAULT\fP La estructura de dirección del conector está fuera del espacio de direcciones del usuario. .TP \fBEINPROGRESS\fP El socket no es bloqueante y la conexión no se puede completar inmediatamente. (Los sockets de dominio UNIX fallaron con \fBEAGAIN\fP). Es posible usar \fBselect\fP(2) o \fBpoll\fP(2) para completar la conexión seleccionando el socket para escritura. Después de que \fBselect\fP(2) indique la capacidad de escritura, utilice \fBgetsockopt\fP(2) para leer la opción \fBSO_ERROR\fP en el nivel \fBSOL_SOCKET\fP y determinar si \fBconnect\fP() se completó correctamente (\fBSO_ERROR\fP es cero) o no (\fBSO_ERROR\fP es uno de los códigos de error habituales que se listan aquí y explicain el motivo del fallo). .TP \fBEINTR\fP .\" For TCP, the connection will complete asynchronously. .\" See http://lkml.org/lkml/2005/7/12/254 La señal atrapada ha interrumpido la llamada del sistema; consulte \fBsignal\fP(7). .TP \fBEISCONN\fP El conector ya está conectado. .TP \fBENETUNREACH\fP Red inaccesible. .TP \fBENOTSOCK\fP El descriptor de archivo \fIsockfd\fP no se refiere a un conector. .TP \fBEPROTOTYPE\fP El tipo de socket no admite el protocolo de comunicaciones solicitado. Este error puede ocurrir, por ejemplo, al intentar conectar un socket de datagrama de dominio UNIX a un socket de flujo. .TP \fBETIMEDOUT\fP 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. .SH VERSIONES Los programas portables deben garantizar que \fIaddr.sun_path\fP sea una cadena terminada en nulo para los sockets \fBAF_UNIX\fP. .SH ESTÁNDARES POSIX.1\-2024. .SH HISTORIAL .\" SVr4 documents the additional .\" general error codes .\" .BR EADDRNOTAVAIL , .\" .BR EINVAL , .\" .BR EAFNOSUPPORT , .\" .BR EALREADY , .\" .BR EINTR , .\" .BR EPROTOTYPE , .\" and .\" .BR ENOSR . .\" It also .\" documents many additional error conditions not described here. POSIX.1\-2001, SVr4, 4.2BSD. .SH NOTAS Si \fBconnect\fP() falla, consideramos el estado del socket como no definido. Las aplicaciones portables deben cerrar el socket y crear uno nuevo para volver a conectar. .SH EJEMPLOS En \fBgetaddrinfo\fP(3) tiene un ejemplo del uso de \fBconnect\fP(). .SH "VÉASE TAMBIÉN" \fBaccept\fP(2), \fBbind\fP(2), \fBgetsockname\fP(2), \fBlisten\fP(2), \fBsocket\fP(2), \fBpath_resolution\fP(7), \fBselinux\fP(8) .PP .SH TRADUCCIÓN La traducción al español de esta página del manual fue creada por Miguel Angel Sepulveda , Cesar D. Lobejon , Juan Piernas y Marcos Fouces . .PP Esta traducción es documentación libre; lea la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. .PP Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a .MT debian-l10n-spanish@lists.debian.org .ME .