connect

Prototypes

int connect(int Socquette, struct sockaddr *Adresse, int *Taille);

Description

Connecte la socquette identifiée par Socquette à un serveur.

Les coordonnées du serveur sont renseignées dans Adresse dans la limite de Taille octets.

La socquette bascule en mode client.

Le résultat est 0 si l'opération a réussie.

Exemple

#include <stdio.h>
#include <socket.h>

int Socquette;
struct sockaddr_in Adresse;
int Taille;
char Buffer[100];

Taille=sizeof(struct sockaddr_in);
Socquette=socket(AF_INET, SOCK_STREAM, 0);
if (Socquette<0) ...
Adresse.sin_family=AF_UNIX;
Adresse.sin_port=(unsigned short)0;
Adresse.sin_addr.S_un.S_un_b.s_b1=(unsigned char)127;
Adresse.sin_addr.S_un.S_un_b.s_b2=(unsigned char)0;
Adresse.sin_addr.S_un.S_un_b.s_b3=(unsigned char)0;
Adresse.sin_addr.S_un.S_un_b.s_b4=(unsigned char)1;
...
if (bind(Socquette, (struct sockaddr *)&Adresse, Taille)<0) ...
Adresse.sin_family=AF_UNIX;
Adresse.sin_port=(unsigned short)80;
Adresse.sin_addr.S_un.S_un_b.s_b1=(unsigned char)127;
Adresse.sin_addr.S_un.S_un_b.s_b2=(unsigned char)0;
Adresse.sin_addr.S_un.S_un_b.s_b3=(unsigned char)0;
Adresse.sin_addr.S_un.S_un_b.s_b4=(unsigned char)1;
if (connect(Socquette, (struct sockaddr *)&Adresse, Taille)<0)
...
if (send(Socquette, Buffer, 100, 0)<0) ...
memset(Buffer, 0, 100);
if (recv(Socquette, Buffer, 100, 0)<0) ...
if (shutdown(Socquette, 0x2)<0) ...

Avertissement

Bien s'assurer que la socquette a été correctement créée.

Voir aussi

socket pour créer une socquette. bind pour désigner l'adresse IP et le port cible. setsockopt pour fixer les options de la socquette. accept pour accepter un nouveau client. recv pour lire depuis la socquette. send pour écrire dans la soquette. shutdown pour fermer le socquette.