Connessione a un socket
Affinché un client comunichi su una rete, deve connettersi a un server.
Per connettersi a un socket
Chiamare la funzione connect , passando il socket creato e la struttura sockaddr come parametri. Verificare la presenza di errori generali.
// 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 funzione getaddrinfo viene usata per determinare i valori nella struttura sockaddr . In questo esempio viene usato il primo indirizzo IP restituito dalla funzione getaddrinfo per specificare la struttura sockaddr passata alla connessione. Se la chiamata di connessione non riesce al primo indirizzo IP, provare la struttura addrinfo successiva nell'elenco collegato restituito dalla funzione getaddrinfo .
Le informazioni specificate nella struttura sockaddr includono:
- l'indirizzo IP del server a cui il client tenterà di connettersi.
- numero di porta nel server a cui si connetterà il client. Questa porta è stata specificata come porta 27015 quando il client ha chiamato la funzione getaddrinfo .
Passaggio successivo: Invio e ricezione di dati nel client
Argomenti correlati