码迷,mamicode.com
首页 > 其他好文 > 详细

个人小结

时间:2016-06-29 13:09:24      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

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

远程推送:顾名思义就是从苹果服务器推送过来的消息,这种推送需要目标设备的 deveiceToken 和 UDID, 其中前者是由程序的服务器提供给苹果服务器,后者是苹果服务器自己活得的,根据这两者可以讲消息唯一的推送给指定的目标.

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

 

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

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

XMPP 使用原理:它是一种 C/S 架构模式,因此使用的原理是客户端通过

TCP/IP 连接到服务器,通过 socket 建立链接,然后在通道上传输 XML 数据流.

环信:环信是对官方的即时通讯协议进行的封装,因此使用的原理是一样的.环信的优点就是不用用户在自己创建服务器

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

 

使用区别:

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

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

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

个人小结

标签:

原文地址:http://www.cnblogs.com/xuan-yuan/p/5626163.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!