Partager via


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

Prise en main avec Winsock

Application cliente Winsock

Création d’un socket pour le client