客户端消息推送实现方案.doc

客户端消息推送实现方案.doc

ID:50212639

大小:217.50 KB

页数:3页

时间:2020-03-06

客户端消息推送实现方案.doc_第1页
客户端消息推送实现方案.doc_第2页
客户端消息推送实现方案.doc_第3页
资源描述:

《客户端消息推送实现方案.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、客户端消息推送方案本文所提推送为服务端有新的消息时,把最新的信息push到客户端上。1、第一种解决方案采用httpjson轮询方式客户端固定频率向服务器发送查询报文,服务端返回最新信息。l优点:实现简单、成要较低l缺点:消息实时性欠佳,客户过多,可能导致资源浪费2、第二种解决方案Android平台采用google提供的C2DM云端推送功能。AndroidCloudtoDeviceMessaging(C2DM)是一个用来帮助开发者从服务器向Android应用程序发送数据的服务。该服务提供了一个简单的、轻量级的机制,允许

2、服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据。C2DM服务负责处理诸如消息排队等事务并向运行于目标设备上的应用程序分发这些消息。其操作过程如下:经过查询和实验,有如下问题:1)C2DM内置于Android的2.2系统上,无法兼容老的1.6到2.1系统;2)C2DM需要依赖于Google官方提供的C2DM服务器,由于国内的网络环境,这个服务经常不可用,如果想要很好的使用,我们的AppServer必须也在国外。3、第三种解决方案XMPP协议实现Android推送功能Google

3、官方的C2DM服务器底层也是采用XMPP协议进行的封装。XMPP(可扩展通讯和表示协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线探测。这个协议可能最终允许因特网用户向因特网上的其他任何人发送即时消息。androidpn客户端需要用到一个基于java的开源XMPP协议包asmack,这个包同样也是基于openfire下的另外一个开源项目smack,不过我们不需要自己编译,可以直接把androidpn客户端里面的asmack.jar拿来使用。客户端利用asmack中提供的XMPPConnect

4、ion类与服务器建立持久连接,并通过该连接进行用户注册和登录认证,同样也是通过这条连接,接收服务器发送的通知。androidpn服务器端也是java语言实现的,基于openfire开源工程,不过它的Web部分采用的是spring框架,这一点与openfire是不同的。Androidpn服务器包含两个部分,一个是侦听在5222端口上的XMPP服务,负责与客户端的XMPPConnection类进行通信,作用是用户注册和身份认证,并发送推送通知消息。另外一部分是Web服务器,采用一个轻量级的HTTP服务器,负责接收用户的W

5、eb请求。服务器架构如下:最上层包含四个组成部分,分别是SessionManager,AuthManager,PresenceManager以及NotificationManager。SessionManager负责管理客户端与服务器之间的会话,AuthManager负责客户端用户认证管理,PresenceManager负责管理客户端用户的登录状态,NotificationManager负责实现服务器向客户端推送消息功能。这个解决方案的最大优势就是简单,我们不需要象C2DM那样依赖操作系统版本,也不会担心某一天Goo

6、gle服务器不可用。利用XMPP协议我们还可以进一步的对协议进行扩展,实现更为完善的功能。采用这个方案,我们目前只能发送文字消息,一般情况下,利用推送只是告诉手机端服务器发生了某些改变,当客户端收到通知以后,应该主动到服务器获取最新的数据,这样才是推送服务的完整实现。经过查询和试验,发现androidpn一些缺点:l连接时间过长时,客户端收不到服务器推送消息。l性能上不够稳定。l没有失败重推机制。4、第四种解决方案使用第三方平台现有较成熟的方案,第三方平台有商用的也有免费的,我们可以根据实现情况使用。关于国内的第三方

7、平台,我感觉目前比较不错的就是极光推送。极光推送目前是免费的,而且支持Android平台和ios平台,我们可以直接使用,后续可根据用户发展情况,购买收费版。5、第五种解决方案自己搭建一个推送平台个人觉得时间、技术成本太高,而且会有长一段时间的运行磨合和性能调优综上所述,个人推荐使用第四种方案,毕竟第三方平台目前也比较成熟,也有许多的大厂家在用极光推送,包括乐视、途牛、芒果、中国移动等。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。