Okhttp支持5个并发Socket链接,每个链路空闲后的保持存活的时间为5分钟,关于连接池复用这里会涉及到两个非常重要的类RealConnection和ConnectionPool,RealConnection负责连接的建立,ConnectionPool负责连接的回收和管理,本专栏的同步视频教程已经发布到csdn学院,地址如下:https://edu.csdn.net/course/detail/29076
连接的建立
通过前面OSI网络互联七层模型学习我们知道,HTTP协议处于的最上层的应用层,TCP是位于传输层,HTTP协议是基于TCP协议的,在Java中通过Socket实现TCP编程,频繁的进行建立Socket连接和断开Socket是非常消耗网络资源和浪费时间的,因为建立一次TCP链接需要三次握手,断开一次TCP链接需要四次挥手,因此Socket连接的复用就显得尤为重要了,这就引入了连接池的概念。
我们在讲拦截器源码解析的时候,是否还记得介绍的第一个系统拦截器RetryAndFollowUpInterceptor他的主要工作是负责失败重试和重定向,在这个拦截器intercept方法的一开始就创建了一个StreamAllocat