我准备利用HttpURLConnection实现一个Http的客户端,但我没有找到如何来设置超时时间。
有位大侠指点,让我用TimerTask 来完成,在规定时间以后来自己手动断掉连接。
方法是不错,不过麻烦了一些,不知是否还有其它方法可以利用。
请各位指点。
下面是清华BBS上一个大侠给我回的,请各位继续献计。
我查了关于HttpURLConnection的方法,里面并没有关于设置timeout的方法
然后我又查了关于http协议的rfc2068文档,现摘抄一段如下:
RFC 2068 HTTP/1.1 January 1997
10.4.9 408 Request Timeout
The client did not produce a request within the time that the server
was prepared to wait. The client MAY repeat the request without
modifications at any later time.
这是关于Request timeout的说明,是指服务器在规定的时间内没有响应客户端的请求就产生Request timeout 错误.
由此能不能理解为timeout的时间是由服务器规定的,而客户端不能设置该属性,我看比较理想的解决方案就是手动编写控制连接的时间了可以编写程序在规定的时间内,http连接失败就可以了不知道哪位还有更好的方法。
可以调用HttpURLConnection的setConnectTimeout和setReadTimeout这两个方法