我对长轮询的理解是,向服务器发送请求,服务器花一些时间将数据返回给我们,或者逐渐发回数据。
我的java servlet应用程序遇到问题(在weblogic服务器上运行),在客户端发出请求后,后端servlet的处理时间大约需要1分钟,当servlet尝试发回响应时,我遇到了& #34;破管#34;问题
我的客户报告了这个问题,我无法在我的环境中重现它,事实上,我写了一个小的servlet来测试我最终会遇到读取超时问题。毫不奇怪,我的浏览器可以等待服务器返回响应超过5分钟。
我的客户端如何解决这种破损的管道问题可能是什么原因?
我怎么可能解决它?
根据http://support.microsoft.com/en-us/kb/813827,
Internet Explorer重用与之相同的TCP / IP套接字 收到初始请求,直到套接字空闲一分钟。 连接空闲一分钟后,Internet Explorer将重置 连接。新的TCP / IP套接字用于接收额外的 请求。
保持活动超时(1分钟)是否可能实际覆盖“读取超时”' (我的理解' read-timeout'有很长的时间),所以它导致TCP连接关闭?
所以现在,这也回来了一个问题,当它说“闲置一分钟”时,"空闲"?的定义是什么?现在TCP打开一个套接字并发出请求,同时等待服务器处理大数据并返回,是否意味着它是"空闲"现在?
答案 0 :(得分:1)
保持活动超时(1分钟)是否可能实际覆盖“读取超时”' (我的理解'读取超时'有非常长的时间),所以它导致TCP连接关闭?
不,HTTP keep-alive和TCP keep-alive(不清楚你实际意味着哪一个,并且它们有不同的含义)都与超时有关,因为套接字是空闲的。
" idle"?
的定义是什么?
空闲意味着没有数据传输。