求指点...
现在遇到这样的一个问题:使用urlConnection 连接HTTP服务器,设置了setReaderTimeOut(6000),这样的话服务器那边需要计算数据,时间会超过6秒,连接被中断;
如果不进行ReaderTimeout的设置,当请求发送到服务器后,断开网络会一直处于等待的状态,对这些不了解,求指点
谢谢

解决方案 »

  1.   

    你的概念有点模糊。首先Timeout有两种:
    setConnectTimeout,这个指的是程序企图去连接服务器端,直到连接成功的超时时间。
    setReadTimeout,这个指的是连接成功后,程序从服务器端下载完所有数据的超时时间。一般后者比前者设置要大点点,毕竟前者是连接都连接不上去,而后者已经连接成功了只是可能服务器处理或者网络下载慢了点。
    如果不设置任何Timeout,那么程序确实会无限期等待,但是如果网络断开的话,也会失败的;因为无限期等待是指它没有得到确定的成功或失败的信息,断开就是明确的失败了。
      

  2.   

    urlConnection 如果不设置setReaderTimeOut,那服务器自己也有timeout时间的,也会断开的。
      

  3.   

    同意2楼,网断的话,就是关乎连接的问题了,只要还存在ConnectionTimeout,即使不设置ReaderTimeout,连接也会因超时而中断,这样失去了其前提的客户端read动作也就不可能无限期等待下去了。
      

  4.   

    ReadTimeOut应该是指链接成功后,开始读取计时的吧!!
    设置了ReadTimeOut后,如果服务器那边运行时间超过了设置的时间呢???同样会断开,但是这不是又多出一个问题了???
      

  5.   

    HTTP的连接本来就是不可靠的连接,你设置一个合适的timeout,然后try就OK了,断了重新连。
      

  6.   

    首先确认下read超时后是不是会连接断开。
    其次如果是会断开的话,也是挺合理的处理,多出一个问题是指什么?