简介
Cronet是chromium的网络协议栈,具有如下特点。
- 提供了从传输层到应用层的完整网络库功能。
- 极佳的跨平台性,覆盖所有主流操作系统:iOS, Android, linux, macOS, win。
- 除了应用层由于支持跨平台,使用了不同语言封装(java | objective-C),底层共用一套C++代码,性能很高。
- 提供多种协议支持:http/spdy/quic等。
最重要的是,这个项目Google开源出来了。
其中,http协议常用的请求方式为使用URLRequest,本章用于记录对URLRequest代码的学习分析。
请求流程
基本流程
应用层调用URLRequest接口 -> Create new URLRequestJob -> Create URLRequestHttpJob子类(根据协议类型) -> HttpTransaction创建会话 -> socket层创建连接…
代码分析
|
|
|
|
|
|
|
|