Anslutning till en socket

För att en klient ska kunna kommunicera i ett nätverk måste den ansluta till en server.

Ansluta till en socket

Anropa funktionen connect, och skicka den skapade socketen tillsammans med sockaddr-strukturen som parametrar. Sök efter allmänna fel.

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

Funktionen getaddrinfo används för att fastställa värdena i sockaddr--strukturen. I det här exemplet används den första IP-adressen som returneras av funktionen getaddrinfo för att specificera den sockaddr-struktur som skickas till connect. Om -anslutnings--anropet misslyckas för den första IP-adressen, försök då nästa addrinfo-struktur i den länkade lista som returneras av funktionen getaddrinfo.

Informationen som anges i sockaddr struktur omfattar:

  • IP-adressen för servern som klienten ska försöka ansluta till.
  • portnumret på servern som klienten ska ansluta till. Den här porten angavs som port 27015 när klienten anropade funktionen getaddrinfo.

Nästa steg: Skicka och ta emot data på klientens

komma igång med Winsock

Winsock-klientprogram

Skapa en socket för klient-