Share via


Enlace de un socket

Para que un servidor acepte conexiones de cliente, debe enlazarse a una dirección de red dentro del sistema. En el código siguiente se muestra cómo enlazar un socket que ya se ha creado a una dirección IP y un puerto. Las aplicaciones cliente usan la dirección IP y el puerto para conectarse a la red host.

Para enlazar un socket

La estructura sockaddr contiene información sobre la familia de direcciones, la dirección IP y el número de puerto.

Llame a la función bind y pase la estructura de socket y sockaddr creada devuelta desde la función getaddrinfo como parámetros. Compruebe si hay errores generales.

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

Una vez que se llama a la función de enlace , la información de dirección devuelta por la función getaddrinfo ya no es necesaria. Se llama a la función freeaddrinfo para liberar la memoria asignada por la función getaddrinfo para esta información de dirección.

    freeaddrinfo(result);

Paso siguiente: Escuchar en un socket

Introducción con Winsock

Aplicación de servidor Winsock

Creación de un socket para el servidor