mpush-client-oc 简介及用法

一、此demo依赖AFNetworking、CocoaAsyncSocket、LFCGzipUtility 和rfi_reader四个三方框架

1、afn 用于使用http代理向服务端发送数据 和 监测网络变化
2、CocoaAsyncSocket 用于建立socket连接
3、LFCGzipUtility 用于压缩和解压缩数据
4、rfi_reader 用于拼接数据

二、核心文件:MessageDataPacketTool

MessageDataPacketTool为该demo的核心文件

此文件封装了 握手 握手响应 心跳 绑定 绑定ok 快速重连 AES加解密 http代理 http代理响应 ok error 等数据包
需要使用以上功能 只需调用MessageDataPacketTool 中的对应方法 方法返回值即为需要向服务端发送的数据

三、相应操作对应的方法

握手: + (NSData *)handshakeMessagePacketData; 握手响应包: + (IP_PACKET)handShakeSuccessResponesWithData:(NSData *)data; 握手响应包中的body: + (HAND_SUCCESS_BODY) HandSuccessBodyDataWithData:(NSData *)body_data andPacket:(IP_PACKET)packet; 心跳: +(NSData \*)heartbeatPacketData; 绑定: + (NSData \*)bindDataWithUserId:(NSString \*)userId; 绑定ok: + (OK_MESSAGE) okWithBody:(NSData \*)body; 快速重连: 暂时未用到 AES加密: + (NSData \*) aesEncriptData:(NSData \*)enData WithIv:(int8_t [])iv andKey:(int8_t [])key; AES解密: + (NSData \*) aesDecriptWithEncryptData:(NSData \*)encryptData withIv:(int8_t [])iv andKey:(int8_t[])key; http代理: + (NSData \*)chatDataWithBody:(NSData \*)messageBody andUrlStr:(NSString \*)urlStr; http代理响应: + (HTTP_RESPONES_BODY)chatDataSuccessWithData:(NSData \*)bodyData; 处理收到的push消息: + (id)processRecievePushMessageWithPacket:(IP_PACKET)packet andData:(NSData \*)body_data;
<strong>使用注意: </strong>
1、需要更换与服务对应的 IP地址 和 MessageDataPacketTool.h文件中的pubkey(握手时RSA加密所需的公钥)

2、iOS10以上需要打开keychain Sharing的开关如下图:
<img src="http://upload-images.jianshu.io/upload_images/2003273-ae8e193a5894575a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="50">

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容