【发布时间】:2016-04-21 22:30:49
【问题描述】:
我知道现场存在类似的问题,但我很困惑,因为http 和xmpp 有差异限制:
this page 说出http 和xmpp 之间的区别。
第一个限制是 [xmpp & http]:最多 4KB 的数据
第二个限制是:
http: 您一次可以向 1000 个用户发送消息。 (ref)
xmpp:对于每个发件人 ID,GCM 允许并行连接 1000 个。 (ref)
您一次可以向 1000 位用户发送消息。因此,如果您有更多用户,您将不得不从您的服务器多次发送消息,但每次发送给不同的用户 (ref)
第三个限制是:
http:我在android开发者中找不到这个限制:
在不折叠的情况下可以存储多少消息是有限制的。该限制当前为 100。如果达到限制,则丢弃所有存储的消息。然后,当设备重新联机时,它会收到一条特殊消息,指示已达到限制。然后,应用程序可以正确处理这种情况,通常是通过请求完全同步。 (ref)
xmpp:
发送到 CCS 的每条消息都会收到一个 ACK 或一个 NACK 响应。未收到这些响应之一的消息被视为待处理。如果挂起的消息数达到 100,应用服务器应停止发送新消息并等待 CCS 确认一些现有的挂起消息 (ref)
我的问题:
1.秒限内,如果我们使用http方式,有2000个用户,是不是应该发两次消息,每次发给1000个用户?,可以吗?
2.xmpp不支持多播消息,我们可以使用xmpp中的主题进行多播吗?
- 按主题广播消息有任何限制吗? (ref除外)
4.在第三个限制中,如果我向 300 个用户发送消息,并且 100 个顶级 用户离线,当他们回来在线时,他们会收到message 或任何notification 吗? (注意:http 使用广播,xmpp 使用循环)
以主题方式做这个限制效果吗?
http和xmpp之间的第三个限制是否存在任何差异?
7.http或xmpp是否存在其他限制?
【问题讨论】:
标签: android http google-cloud-messaging xmpp messaging