Android 谷歌云消息传递-CCS(XMPP)与HTTP服务器
我已经看过文件了 我能看到的唯一区别是,基于CCS(XMPP)的服务器允许在android设备和GCM服务器之间直接进行双向通信 您选择CCS(XMPP)而不是HTTP(反之亦然)还有其他原因吗?CCS(XMPP)是异步的,这意味着它应该比HTTP更快。它还使用设备上现有的GCM连接从应用程序向服务器发送消息(这节省了电池,因为您不必打开自己与服务器的连接)Android 谷歌云消息传递-CCS(XMPP)与HTTP服务器,android,push-notification,google-cloud-messaging,Android,Push Notification,Google Cloud Messaging,我已经看过文件了 我能看到的唯一区别是,基于CCS(XMPP)的服务器允许在android设备和GCM服务器之间直接进行双向通信 您选择CCS(XMPP)而不是HTTP(反之亦然)还有其他原因吗?CCS(XMPP)是异步的,这意味着它应该比HTTP更快。它还使用设备上现有的GCM连接从应用程序向服务器发送消息(这节省了电池,因为您不必打开自己与服务器的连接) 另一方面,HTTP编码要简单得多,因此除非您需要双向功能或需要以非常高的速度发送消息,否则我会坚持使用HTTP。您可以通过对gcm的一个
另一方面,HTTP编码要简单得多,因此除非您需要双向功能或需要以非常高的速度发送消息,否则我会坚持使用HTTP。您可以通过对gcm的一个HTTP调用一次向1000台设备广播一条消息。对于广播而言,http优于CCS。来自谷歌文档: 您可以继续使用HTTP请求机制向GCM服务器发送消息,与使用XMPP的CCS并行。CCS的一些好处包括: XMPP的异步特性允许您用更少的资源发送更多的消息 通信是双向的,不仅服务器可以向设备发送消息,设备还可以将消息发送回服务器
该设备可以使用与接收相同的连接发回消息,从而延长电池寿命。不幸的是,谷歌云平台将在一年后禁用XMPP API
我会选择XMPP来节省设备的电池,因为它是当今最大的问题之一 XMPP消息与HTTP消息的不同之处在于: 上行/下行消息
- HTTP:仅下游,云到设备
- XMPP:上游和下游(设备到云、云到设备)
- HTTP:同步。应用服务器以HTTP POST请求的形式发送消息,并等待响应。此机制是同步的,阻止发件人发送另一条消息,直到收到响应。
- XMPP:异步。应用服务器通过持久的XMPP连接以全速向其所有设备发送/接收消息。XMPP连接服务器异步发送确认或失败通知(以特殊ACK和NACK JSON编码的XMPP消息的形式)
- HTTP:JSON消息作为HTTP POST发送
- XMPP:封装在XMPP消息中的JSON消息
- HTTP:作为HTTP POST发送的纯文本消息
- XMPP:不支持
- HTTP:支持JSON消息格式
- XMPP:不支持