URLHttpConnection 问题

追求执着 2012-10-25 04:46:11
求指点...
现在遇到这样的一个问题:使用urlConnection 连接HTTP服务器,设置了setReaderTimeOut(6000),这样的话服务器那边需要计算数据,时间会超过6秒,连接被中断;
如果不进行ReaderTimeout的设置,当请求发送到服务器后,断开网络会一直处于等待的状态,对这些不了解,求指点
谢谢
...全文
203 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
dracularking 2012-10-30
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

ReadTimeOut应该是指链接成功后,开始读取计时的吧!!
设置了ReadTimeOut后,如果服务器那边运行时间超过了设置的时间呢???同样会断开,但是这不是又多出一个问题了???
[/Quote]
首先确认下read超时后是不是会连接断开。
其次如果是会断开的话,也是挺合理的处理,多出一个问题是指什么?
dracularking 2012-10-26
  • 打赏
  • 举报
回复
同意2楼,网断的话,就是关乎连接的问题了,只要还存在ConnectionTimeout,即使不设置ReaderTimeout,连接也会因超时而中断,这样失去了其前提的客户端read动作也就不可能无限期等待下去了。
阿诺 2012-10-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你的概念有点模糊。

首先Timeout有两种:
setConnectTimeout,这个指的是程序企图去连接服务器端,直到连接成功的超时时间。
setReadTimeout,这个指的是连接成功后,程序从服务器端下载完所有数据的超时时间。

一般后者比前者设置要大点点,毕竟前者是连接都连接不上去,而后者已经连接成功了只是可能服务器处理或者网络下载慢了点。


如果不设置任何Tim……
[/Quote]

我觉得2楼很正确!支持下 学习了
追求执着 2012-10-26
  • 打赏
  • 举报
回复
不会的,亲!!!
[Quote=引用 3 楼 的回复:]

urlConnection 如果不设置setReaderTimeOut,那服务器自己也有timeout时间的,也会断开的。
[/Quote]
yjflinchong 2012-10-26
  • 打赏
  • 举报
回复
把时间设置长点。 一般能打开连接,那么就可以 联通
hbwhwang 2012-10-26
  • 打赏
  • 举报
回复
HTTP的连接本来就是不可靠的连接,你设置一个合适的timeout,然后try就OK了,断了重新连。
追求执着 2012-10-26
  • 打赏
  • 举报
回复
ReadTimeOut应该是指链接成功后,开始读取计时的吧!!
设置了ReadTimeOut后,如果服务器那边运行时间超过了设置的时间呢???同样会断开,但是这不是又多出一个问题了???
[Quote=引用 2 楼 的回复:]

你的概念有点模糊。

首先Timeout有两种:
setConnectTimeout,这个指的是程序企图去连接服务器端,直到连接成功的超时时间。
setReadTimeout,这个指的是连接成功后,程序从服务器端下载完所有数据的超时时间。

一般后者比前者设置要大点点,毕竟前者是连接都连接不上去,而后者已经连接成功了只是可能服务器处理或者网络下载慢了点。


如果不设置任何Ti……
[/Quote]
追求执着 2012-10-26
  • 打赏
  • 举报
回复
biduone 2012-10-25
  • 打赏
  • 举报
回复
用得少。3
xiaohe8503 2012-10-25
  • 打赏
  • 举报
回复
urlConnection 如果不设置setReaderTimeOut,那服务器自己也有timeout时间的,也会断开的。
MiceRice 2012-10-25
  • 打赏
  • 举报
回复
你的概念有点模糊。

首先Timeout有两种:
setConnectTimeout,这个指的是程序企图去连接服务器端,直到连接成功的超时时间。
setReadTimeout,这个指的是连接成功后,程序从服务器端下载完所有数据的超时时间。

一般后者比前者设置要大点点,毕竟前者是连接都连接不上去,而后者已经连接成功了只是可能服务器处理或者网络下载慢了点。


如果不设置任何Timeout,那么程序确实会无限期等待,但是如果网络断开的话,也会失败的;因为无限期等待是指它没有得到确定的成功或失败的信息,断开就是明确的失败了。
追求执着 2012-10-25
  • 打赏
  • 举报
回复

没有人吗??

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧