1. 根据官方文档集成,一些默认的配置根据业务需要进行修改
ip和端口号, MPush是通过AFN GET请求向服务器获取- Mpush所需要的ip地址和端口号
UDID一定是存在钥匙串里的,不然每次卸载app或者启动app,UDID都是会变化的
唯一标识,必须保证唯一性
每次启动去钥匙串里查找,有则取,无则存
2. Mpush流程
绑定user_id ,根据业务需要,不绑定或者绑定一个固定的都行
握手发送数据包
握手失败
快速重连
- 从内存里取出握手包重连
建立心跳机制
- 成功
- 开始发送消息
- 消息拼包 (这一块需要注意的是拼包的规则)
- 头部 + 消息长度 + 消息内容
- 失败
- 快速重连
断开连接
其实Mpush已经帮我们做了很多封装了, 比如加密,拼包等等
首先它采用的是最常用的 第三方socket编程框架, 封装的很友好,是目前市面上用的最多的没有之一,面向Objective-C编程,不用关心那些晦涩难懂的C代码, 这方面的教程网上也很多。
socket建立连接时,传递拼好的握手数据包
握手数据拼包
消息拼包
[OC版](https://github.com/mpusher/mpush-client-oc)
[swift版](https://github.com/mpusher/mpush-client-swift)
领取专属 10元无门槛券
私享最新 技术干货