用于向多个用户广播的android服务器

Posted

技术标签:

【中文标题】用于向多个用户广播的android服务器【英文标题】:android server for braodcasting to mutlitple users 【发布时间】:2014-11-30 15:53:35 【问题描述】:

我想设置一个服务器来同时向多个用户广播相同的消息。我浏览了 GCM 官方文档,它说 - “XMPP”不支持“多播”(向多个用户发送相同的消息)。 HTTP 可以用于此。

如果是这样,为什么有很多关于 XMPP 实现的文章而没有关于 HTTP 的文章。

这让我觉得也可以使用 XMPP。

请建议使用哪一个。如果 HTTP 是答案,请分享一些解释实现的链接。

【问题讨论】:

HKMCode 使用 HTTP 协议,基本上只有上游消息。 XMPP 允许下游消息传递,这对通知用户很有用。您可以同时使用 XMPP 和 HTTP。 【参考方案1】:

GCM XMPP 接口不支持为单个推送放置收件人列表,但您仍然可以并行发送多个推送(在您可能拥有的多个 XMPP 连接上)。

对于发送推送通知,通常更有效的方法取决于您的使用模式:

如果您向许多用户发送大量通知,XMPP 可能会更好,因为您可以有多个并行流。 如果您通常将相同的通知发送给多个用户,那么 HTTP 可能会更有效,因为单个通知可以同时到达 1000 个收件人。

如建议的那样,如果您的使用模式有多种,您可以同时使用并动态选择最有效的方法。

但是,这可能不值得付出努力,因为您确实需要发送大量通知才能看到差异。给您提一下向多个用户发送通知,我个人的建议是使用更简单的 HTTP 方法,如果您觉得这会成为您某些部分使用的瓶颈,请尝试使用 GCM 的 XMPP 连接器。

【讨论】:

我需要为纯群聊设置此设置,其中一个用户发送的消息将被许多其他用户接收。因此,我想,我需要一些可以将相同的通知推送给很多用户的东西。 那么,基于 GCM HTTP 的通知就可以了 :)

以上是关于用于向多个用户广播的android服务器的主要内容,如果未能解决你的问题,请参考以下文章

Azure 向多个设备/广播发送推送通知

基础知识

Android 四大组件

Android广播(BroacastReceiver)与服务(Service)

python Socket.IO 客户端,用于向 TornadIO2 服务器发送广播消息

Android 5.0+ 在通知区域向用户隐藏“蓝牙配对请求”