Condividi tramite


Collegamento di un socket

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

Introduzione a Winsock

Applicazione server Winsock

Creazione di un socket per il server