Delen via


Een socket binden

Als een server clientverbindingen accepteert, moet deze zijn gebonden aan een netwerkadres binnen het systeem. De volgende code laat zien hoe u een socket verbindt die al is gemaakt met een IP-adres en poort. Clienttoepassingen gebruiken het IP-adres en de poort om verbinding te maken met het hostnetwerk.

Een socket verbinden

De sockaddr structuur bevat informatie over de adresfamilie, het IP-adres en het poortnummer.

Roep de -functie aan, waarbij de gemaakte socket- en de sockaddr--structuur die wordt geretourneerd door de getaddrinfo-functie als parameters worden doorgegeven. Controleer op algemene fouten.

    // 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;
    }

Zodra de functie is aangeroepen, zijn de adresgegevens die worden geretourneerd door de getaddrinfo functie niet meer nodig. De freeaddrinfo functie wordt aangeroepen om het geheugen vrij te maken dat is toegewezen door de getaddrinfo functie voor deze adresgegevens.

    freeaddrinfo(result);

Volgende stap: luisteren op een socket-

Aan de slag met Winsock

Winsock Server-toepassing

Een socket maken voor de server