标签:blog   完成   public   超时   gpo   timeout   pci   www   enc   

今天在测试 的时候异常发现超时设置尽然没有生效,很是纳闷,原先是只设置了connenctionTImeout发现超时无效 ,百度后加上了Socket超时
HTTP请求时候总是设置的两个参数ConnectionTimeOut和SocketTimeOut

  在HTTP请求时候总是设置两个参数,就是连接超时和Socket超时

 

1  public static final String SO_TIMEOUT = "http.socket.timeout";
2  public static final String CONNECTION_TIMEOUT ="http.connection.timeout";

 

解析:
一次http请求,必定会有三个阶段,一:建立连接;二:数据传送;三,断开连接。
当建立连接在规定的时间内(ConnectionTimeOut )没有完成,那么此次连接就结束了。后续的SocketTimeOutException就一定不会发生。只有当连接建立起来后,
也就是没有发生ConnectionTimeOutException ,才会开始传输数据,如果数据在规定的时间内(SocketTimeOut)传输完毕,则断开连接。否则,触发SocketTimeOutException

http超时请求设置的问题