如何在Http连接中设置超时?
2008-10-30 14:03
369 查看
我准备利用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这两个方法
有位大侠指点,让我用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这两个方法
相关文章推荐
- 如何设置android HttpPost 连接服务器超时
- Socket中如何设置连接超时
- 十.长连接超时设置(ngx_http_upstream_keepalive_module)
- Android在Http连接中设置超时和代理?
- Socket中如何设置连接超时(转)
- 服务器上传,时间超时 tomcat 如何设置保持连接
- Socket中如何设置连接超时
- Socket中如何设置连接超时
- Android http连接设置超时无效
- HttpClient 4.5版本设置连接超时时间
- HttpClient 4.5版本设置连接超时时间
- 如何设置mysql 数据库连接超时
- AndroidHttpTransport 设置连接超时
- 服务器上传,时间超时 tomcat 如何设置保持连接
- HttpURLConnection中如何设置网络超时
- HttpClient 4.5版本设置连接超时时间
- Apache http 服务器如何启用和设置 https 连接以提供加密的 http 通讯教程
- Socket中如何设置连接超时(转)
- 如何设置到映射网络驱动器的超时连接时间
- Socket中如何设置连接超时-通过测试