Desconectar el servidor
Una vez completado la recepción de datos del servidor del cliente y el envío de datos de vuelta al cliente, el servidor se desconecta del cliente y cierra el socket.
Para desconectar y apagar un socket
Cuando el servidor haya terminado de enviar datos al cliente, se puede llamar a la función de apagado que especifica SD_SEND para apagar el lado de envío del socket. Esto permite al cliente liberar algunos de los recursos de este socket. La aplicación de servidor todavía puede recibir datos en el socket.
// shutdown the send half of the connection since no more data will be sent iResult = shutdown(ClientSocket, SD_SEND); if (iResult == SOCKET_ERROR) { printf("shutdown failed: %d\n", WSAGetLastError()); closesocket(ClientSocket); WSACleanup(); return 1; }
Cuando la aplicación cliente haya terminado 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(ClientSocket); WSACleanup(); return 0;
Código fuente completo del servidor
Temas relacionados