CONNECT(2) | Manuel du programmeur Linux | CONNECT(2) |
connect - Débuter une connexion sur un socket
#include <sys/types.h> /* Consultez NOTES */ #include <sys/socket.h>
int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
L'appel système connect() connecte le socket associé au descripteur de fichier sockfd à l'adresse indiquée par addr. L'argument addrlen indique la taille de addr. Le format de l'adresse addr est déterminé par la famille du socket sockfd ; consultez socket(2) pour plus de détails.
Si le socket sockfd est du type SOCK_DGRAM, alors addr est l'adresse à laquelle les datagrammes seront envoyés par défaut, et la seule adresse depuis laquelle ils seront reçus. Si le socket est du type SOCK_STREAM ou SOCK_SEQPACKET, cette fonction tente de se connecter à un autre socket. L'adresse de l'autre socket est indiquée par addr.
Certains sockets de protocole (comme les sockets de flux de domaine UNIX) peuvent connect() avec succès une seule fois.
Certains sockets de protocole (comme les sockets datagramme des domaines UNIX et Internet) peuvent utiliser connect() plusieurs fois pour modifier leur association.
Certains sockets (comme les sockets TCP ainsi que les sockets datagramme des domaines UNIX et Internet) peuvent rompre l'association en se connectant à une adresse avec le membre sa_family de sockaddr positionné sur AF_UNSPEC;, le socket peut par la suite se connecter à une autre adresse (AF_UNSPEC est pris en charge sur Linux depuis le noyau 2.2).
connect() renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.
Voici une liste d'erreurs générales concernant les sockets. Il peut en exister d'autres spécifiques au domaine employé.
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD, (connect() est apparu dans BSD 4.2).
POSIX.1-2001 ne requiert pas l'inclusion de <sys/types.h>, et cet en‐tête n'est pas nécessaire sous Linux. Cependant, il doit être inclus sous certaines implémentations historiques (BSD), et les applications portables devraient probablement l'utiliser.
Pour plus de détails sur le type socklen_t, voir accept(2).
Si connect() échoue, considérez que le socket est dans un état non spécifié. Les applications portables devraient fermer le socket et en créer un nouveau pour se reconnecter.
getaddrinfo(3) contient un exemple d'utilisation de connect().
accept(2), bind(2), getsockname(2), listen(2), socket(2), path_resolution(7), selinux(8)
Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Philippe MENGUAL <jpmengual@debian.org>
Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.
11 avril 2020 | Linux |