Connexion à un socket
Pour qu’un client communique sur un réseau, il doit se connecter à un serveur.
Pour se connecter à un socket
Appelez la fonction de connexion , en passant le socket créé et la structure sockaddr en tant que paramètres. Recherchez les erreurs générales.
// Connect to server.
iResult = connect( ConnectSocket, ptr->ai_addr, (int)ptr->ai_addrlen);
if (iResult == SOCKET_ERROR) {
closesocket(ConnectSocket);
ConnectSocket = INVALID_SOCKET;
}
// Should really try the next address returned by getaddrinfo
// if the connect call failed
// But for this simple example we just free the resources
// returned by getaddrinfo and print an error message
freeaddrinfo(result);
if (ConnectSocket == INVALID_SOCKET) {
printf("Unable to connect to server!\n");
WSACleanup();
return 1;
}
La fonction getaddrinfo est utilisée pour déterminer les valeurs dans la structure sockaddr . Dans cet exemple, la première adresse IP retournée par la fonction getaddrinfo est utilisée pour spécifier la structure sockaddr passée à la connexion. Si l’appel de connexion échoue à la première adresse IP, essayez la structure addrinfo suivante dans la liste liée retournée par la fonction getaddrinfo .
Les informations spécifiées dans la structure sockaddr incluent :
- adresse IP du serveur auquel le client tente de se connecter.
- numéro de port sur le serveur auquel le client se connectera. Ce port a été spécifié en tant que port 27015 lorsque le client a appelé la fonction getaddrinfo .
Étape suivante : envoi et réception de données sur le client
Rubriques connexes