有两个场景
1. 打开一个http链接,准备接收数据,网络断了(比如拔网线)。
2. 打开一个http链接,准备接收数据,服务器正在做运算,链接良好,但是没有数据传递。
试了下各种http的客户端,java的,python的库,curl等,发现都无法区分这两种情况,都得等timeout。为什么这么低级的东西都做不到?是http协议就不支持区分么?
我们需求是:
1. 能立即知道网络断了,即readResponse能抛异常出来
2. 能等很久不要timeout。因为服务器可能要运算很久。
现在发现这些库只能设置一个timeout。此数值小了,case2等不了很久链接就断了。此数值大了,case1得等很久才知道链接断了。
好蛋疼。
--
FROM 115.236.61.*