Partager via


Liaison d’un socket

Pour qu’un serveur accepte les connexions clientes, il doit être lié à une adresse réseau au sein du système. Le code suivant montre comment lier un socket qui a déjà été créé à une adresse IP et à un port. Les applications clientes utilisent l’adresse IP et le port pour se connecter au réseau hôte.

Pour lier un socket

La structure sockaddr contient des informations concernant la famille d’adresses, l’adresse IP et le numéro de port.

Appelez la fonction bind , en passant le socket créé et la structure sockaddr retournés par la fonction getaddrinfo en tant que paramètres. Recherchez les erreurs générales.

    // Setup the TCP listening socket
    iResult = bind( ListenSocket, result->ai_addr, (int)result->ai_addrlen);
    if (iResult == SOCKET_ERROR) {
        printf("bind failed with error: %d\n", WSAGetLastError());
        freeaddrinfo(result);
        closesocket(ListenSocket);
        WSACleanup();
        return 1;
    }

Une fois la fonction bind appelée, les informations d’adresse retournées par la fonction getaddrinfo ne sont plus nécessaires. La fonction freeaddrinfo est appelée pour libérer la mémoire allouée par la fonction getaddrinfo pour ces informations d’adresse.

    freeaddrinfo(result);

Étape suivante : Écoute sur un socket

Prise en main avec Winsock

Application serveur Winsock

Création d’un socket pour le serveur