Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Affinché un server accetti 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 strutturasockaddrcontiene informazioni relative alla famiglia di indirizzi, all'indirizzo IP e al numero di porta.
Chiamare la funzionebind, passando la socket creata e 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 di associazione, le informazioni sull'indirizzo restituite dalla funzionegetaddrinfonon sono più necessarie. La funzione freeaddrinfo viene chiamata per liberare la memoria allocata dalla funzione getaddrinfo per le informazioni dell'indirizzo.
freeaddrinfo(result);
Passaggio successivo: in ascolto su un socket
Argomenti correlati