Android- Open Fire、云连接服务器和 GCM 之间的区别

Posted

技术标签:

【中文标题】Android- Open Fire、云连接服务器和 GCM 之间的区别【英文标题】:Android- Difference between Open Fire , Cloud connection Server And GCM 【发布时间】:2015-04-10 10:19:21 【问题描述】:

您好,我们必须在我的应用中实现聊天功能。 早些时候,我们通过集成 smack api 和 open fire server 实现了使用 xmpp 协议的聊天。现在我调查了 Google conncetion server

GCM 正在通过 XMPP 或其他方式发送消息。没有得到任何明确的说明。但我正在寻找聊天功能的简单解决方案,因为我们在使用 openfire 服务器和 smack 库时遇到了一些问题。 Openfire,GCM和CCS有什么区别。 现在哪个服务器更适合聊天。开火或抄送。

【问题讨论】:

嘿@Roster,最后你的解决方案是什么?,并且可以给我概述一下你在实施后的理解,以及一些感兴趣的参考。 @Gilberto ibarra 我们继续实施开放式火力服务器。但现在 android api 它自己提供了使用 smack api 实现聊天功能的 api。 【参考方案1】:

您的问题似乎很模糊,但如果您要问Google Cloud Messaging 服务的本质,它可以通过两种方式工作,一种是 HTTP,另一种是 XMPP(或云连接服务器,也称为 CCS)。这意味着必须编写将管理客户端消息的服务器,但您可以使用我刚才提到的任何一种技术。

来自官方GCM Cloud Connection Server 文档:

您可以继续使用HTTP请求机制发送消息到 GCM 服务器,与使用 XMPP 的 CCS 并排。一些 CCS 的好处包括:

XMPP 的异步特性允许您发送更多消息 更少的资源。沟通是双向的——你不仅可以 服务器向设备发送消息,但设备可以发送消息 回到你的服务器。设备可以使用相同的方式发回消息 用于接收的连接,从而提高电池寿命。这 CCS 的上游消息传递(设备到云)功能是 Google Play 服务平台。上游消息传递可通过 GoogleCloudMessaging API。例如,请参阅实现一个 基于 XMPP 的应用服务器。

【讨论】:

好的,谢谢。我想只使用 XMPP 机制进行聊天,但对我应该使用 openfire 服务器还是 CCS 服务器感到困惑。 后端和消息广播服务器由google处理,您不需要为此使用openfire,但另外您必须编写自己的服务器(用您最喜欢的语言,phpPython 或其他),这将是与谷歌拥有的Google Cloud Server 对话的接口。换句话说,您必须实现逻辑并且要应用于消息,还需要处理下标并使用GCM 在这些下标中广播您的消息。 好的。谢谢。 CCS 完全取代了使用 openfire 服务器的需要。 是的,您不需要使用 openfire 来执行此操作。

以上是关于Android- Open Fire、云连接服务器和 GCM 之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

卡在 Android TV / Fire TV 的 Charles 代理证书安装中

安装OPEN-JDK

适用于 Android 的 Firebase 推送通知

Android + jdbc连接云服务器的MySQL并采用ListView查看数据

添加连接点不会生成 fire_* 方法

转载基于阿里云的MQTT远程控制(Android 连接MQTT服务器,ESP8266连接MQTT服务器实现远程通信控制----简单的连接通信)