在http1.1(http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html)中,它说:
当客户端或服务器希望超时时,应该在传输连接上发出正常关闭。客户和服务器应该经常关注运输关闭的另一侧,并在适当时对其进行响应。
我的问题是:如果超时,如何在http服务器和浏览器端发出优雅关闭?
答案 0 :(得分:0)
您必须在任何一侧关闭TCP连接。另一侧的连接将自动关闭。
如果您想知道如何实现自动关闭:
当其他方想要关闭连接时,它会在tcp
标题处发送FIN。在程序端,您的套接字将由select
函数激活,recv
函数返回将为0.所以:
if (recv(socket, ...) == 0)
closesocket(socket);