Ansluta en socket

För att en server ska acceptera klientanslutningar måste den vara bunden till en nätverksadress i systemet. Följande kod visar hur du binder en socket som redan har skapats till en IP-adress och port. Klientprogram använder IP-adressen och porten för att ansluta till värdnätverket.

Så här binder du en socket

sockaddr- struktur innehåller information om adressfamilj, IP-adress och portnummer.

Anropa funktionen bind och skicka den skapade socket- och sockaddr- struktur som returneras från funktionen getaddrinfo som parametrar. Sök efter allmänna fel.

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

När bind-funktionen anropas behövs adressinformationen som returneras av getaddrinfo-funktionen inte längre. Funktionen freeaddrinfo anropas för att frigöra det minne som allokeras av funktionen getaddrinfo för den här adressinformationen.

    freeaddrinfo(result);

Nästa steg: lyssnar på en Socket-

komma igång med Winsock

Winsock Serverapplikation

Skapa en socket för server