2010-12-16 160 views
0

我有一个Web应用程序,在向服务器发出HTTP请求后,客户端完全收到响应之前,客户端退出(或网络连接中断)。HTTP服务器检测到来自HTTP客户端的断开网络连接

在这种情况下,应用程序的服务器端需要做一些清理工作。 HTTP协议中是否有内置的方法来检测这种情况。服务器如何知道客户端是否仍在等待响应或退出?

感谢 维贾伊·库马尔

回答

0

你可能有一个网络问题...... usualy,当你发送一个HTTP请求到服务器,首先您发送标题,然后POST(加的内容,如果它是一个后方法)。同样,服务器响应标题和文档正文。标题中的第一行是状态。通常情况下,状态200是成功状态,如果你知道了,那么获取文档的其余部分应该没有问题。请查看HTTP响应状态页眉的详细信息http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html

LE: 对不起,您有错过您的问题。基本上,当用户断开连接时,你没有触发器。如果你使用OOP,你可以使用类的析构函数来清理你需要清理的任何东西。

0

不,没有什么内置的协议来做到这一点(毕竟,你不能分辨出响应是否已经被客户端自己收到,或者只是一个下游代理)。

只要你的客户发出第二个请求,确认它已收到并存储了原始响应。如果您没有及时发现问题,请执行清理。

但是,请确保您了解Two Generals' Problem的含义。

相关问题