我的小结

推送:分为远程推送和本地推送缓存

远程推送:顾名思义就是从苹果服务器推送过来的消息,这种推送须要目标设备的 deveiceToken 和 UDID, 其中前者是由程序的服务器提供给苹果服务器,后者是苹果服务器本身活得的,根据这二者能够讲消息惟一的推送给指定的目标.服务器

本地推送:就是不通过苹果官方服务器进行的推送,最经常使用的就是极光推送,它的使用原理就的经过 socket 加心跳包的方式来实现, socket 能够理解为肯定某台设备使用的,它是 IP 地址+协议+端口号.心跳包的做用就是经过不断的发送消息到客户端,判断用户是否在线,若是不在线则要用远程推送,若是在线则用本地推送.架构

 

即时通信:经常使用的方式有 XMPP, 环信和融云app

XMPP: 便可扩展通信协议,官方提供的即时通信协议.因为是即时通信,因此使用的是本身的服务器来进行通信的,这就须要常见本地服务器(openfire 服务器).它的通信架构为 C/S 架构,通信原理是经过 socket 来实现的,它在传输过程当中传输的是 XML 数据流.所以 XMPP 通信须要两个条件:openFire 服务器和 XMPP 框架框架

XMPP 使用原理:它是一种 C/S 架构模式,所以使用的原理是客户端经过socket

TCP/IP 链接到服务器,经过 socket 创建连接,而后在通道上传输 XML 数据流.视频

环信:环信是对官方的即时通信协议进行的封装,所以使用的原理是同样的.环信的优势就是不用用户在本身建立服务器开发

环信的使用步骤:注册为开发者à获取 appkeyà 下载 SDKà 按照文档作事情文档

 

使用区别:文件上传

XMPP: 发送附件比较麻烦.这是因为 XMPP 没有提供发送附件的功能,要发送附件的话要本身实现,实现方法为:先将文件上传到文件服务器,而后获取文件路径,最后将文件路径发送给好友.

注:解析 XMPP 返回的数据的时候用的是 kissXML框架 而不是经常使用的哪几种框架.

环信:内部集成了服务器使用很方便,实现了数据缓存,实现了音视频等的发送功能.

相关文章
相关标签/搜索