Android Socket 应用 - 网络编程与进程通讯
前阵子空闲时间学习了下 okhttp 源码,主要是重新学习 socket 网络编程,以及 okhttp 框架的一些特点。上周末,一个制作三星刷机包的朋友告诉我:国行三星手机通过官方 crom service 应用解锁手机后,才可以刷第三方刷机包,解锁后就保修就废了,很多人都不愿意解锁。于是朋友托我研究 crom service 上锁,如果研究成功,那么玩家更乐意解锁刷机。在研究上锁,刚好涉及到 android 底层 socket 通讯知识,同时分享下。文末介绍这次三星上锁之旅(反编译相关),成功但尴尬的结局。
socket 网络编程
在 okhttp 中,一次网络请求,在一条拦截链中完成,拦截链中每个拦截器完成比较少的任务(如重定向,失败重连,连接池,缓存等),很多大神也分享过拦截链的代码,就不重复介绍,这里主要介绍一次网络请求整个流程,可分以下四步:
序号 | 方法 | 描述 |
---|---|---|
1 | connectSocket | 通过 socket 连接远程服务器 |
2 | connectTls | 传输层安全协议,握手 |
3 | writeRequest | 写请求信息 |
4 | readResponse | 读响应信息 |