Compartir a través de


Desconexión del cliente

Una vez completado el envío y recepción de datos, el cliente se desconecta del servidor y apaga el socket.

Para desconectar y apagar un socket

  1. Cuando el cliente haya terminado de enviar datos al servidor, se puede llamar a la función shutdown especificando SD_SEND para apagar el lado de envío del socket. Esto permite al servidor liberar algunos de los recursos de este socket. La aplicación cliente todavía puede recibir datos en el socket.

    // shutdown the send half of the connection since no more data will be sent
    iResult = shutdown(ConnectSocket, SD_SEND);
    if (iResult == SOCKET_ERROR) {
        printf("shutdown failed: %d\n", WSAGetLastError());
        closesocket(ConnectSocket);
        WSACleanup();
        return 1;
    }
    
  2. Cuando la aplicación cliente termina de recibir datos, se llama a la función closesocket para cerrar el socket.

    Cuando la aplicación cliente se completa con el archivo DLL de Windows Sockets, se llama a la función WSACleanup para liberar recursos.

    // cleanup
    closesocket(ConnectSocket);
    WSACleanup();
    
    return 0;
    

Código fuente completo del cliente

Introducción con Winsock

Aplicación cliente winsock

Envío y recepción de datos en el cliente