HttpClient几个连接参数

1. ConnectTimeout

客户端与服务器建立连接的最长等待时间,超过则出错。

2. SocketTimeout

读取返回内容的最长等待时间,超过则出错。

这个值具体的意思是,如果SocketTimeOut设置的时间是4秒,下图中显示的接收结果一共是6秒,但是也并不会出错,

因为 a 到 b 之间只用了 3秒,b 到 c 之间也只用了 3秒,每次接收数据的间隔都没有超过4秒,

所以该值的具体意思就是,读取服务端返回内容的最大间隔时间。

 

3. ConnectionRequestTimeout

如果连接池满了,客户端从连接池中获取连接的最长等待时间,超过则出错。

4. DefaultMaxPerRoute

route的连接大小,什么是一个route?

这里route的概念可以理解为 客户端 到 目标服务器的一条线路。

举例来说,我们使用HttpClient的实现来分别请求 www.baidu.com 的资源和 www.bing.com 的资源那么他就会产生两个route。

该值如果设置为2,意味着对于同一个目标机器的最大并发连接只有2个,即使你设置连接池的最大连接数为200,

但是实际上还是只有2个连接在工作,其他剩余的198个连接都在等待,都是为别的目标机器服务的,因此该值可以设置成与连接池大小一样,即可保证同一个地址,也可以最大限度的并发请求。
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值