Associazione di un socket
Affinché un server accetti le connessioni client, deve essere associato a un indirizzo di rete all'interno del sistema. Il codice seguente illustra come associare un socket già creato a un indirizzo IP e a una porta. Le applicazioni client usano l'indirizzo IP e la porta per connettersi alla rete host.
Per associare un socket
La struttura sockaddr contiene informazioni relative alla famiglia di indirizzi, all'indirizzo IP e al numero di porta.
Chiamare la funzione di associazione passando il socket creato e la struttura sockaddr restituita dalla funzione getaddrinfo come parametri. Verificare la presenza di errori generali.
// 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;
}
Dopo aver chiamato la funzione bind , le informazioni sull'indirizzo restituite dalla funzione getaddrinfo non sono più necessarie. La funzione freeaddrinfo viene chiamata per liberare la memoria allocata dalla funzione getaddrinfo per queste informazioni sull'indirizzo.
freeaddrinfo(result);
Passaggio successivo: Ascolto su un socket
Argomenti correlati