【问题标题】:Do XMPP Servers (Openfire) require implementations?XMPP 服务器(Openfire)是否需要实现?
【发布时间】:2016-07-26 06:20:27
【问题描述】:

Openfire 等 XMPP 服务器是否需要自己实现才能处理消息。为了使用 Openfire 处理消息,我是否需要 PHP 等网络语言? 因为根据How to make Chat Application in Android Using XMPP and GCM 之类的帖子,我不需要编写 PHP 脚本来处理消息,Openfire(它是一个 XMPP 服务器)将完成所有繁重的工作。因此,当创建消息传递程序时,我唯一需要担心的是客户端代码吗?

我还遇到了相互矛盾的信息,希望有人能澄清一下。据我所知,需要在 GCM 旁边使用 XMPP 服务器。因为 GCM 本身在传递消息方面并不可靠,需要 XMPP 服务器才能完全可靠。这是真的吗,上面的链接表明不是,但据此它是https://www.youtube.com/watch?v=5wXGcu9H91s

澄清一下就好了,谢谢。

【问题讨论】:

    标签: android google-cloud-messaging xmpp


    【解决方案1】:

    GCM 允许您使用 HTTP 和 XMPP 通过 GCM 从您的应用服务器向下发送消息到您的设备。

    只有使用 XMPP,您才能通过 GCM 从您的设备向您的服务器发送消息。这允许您的设备将确认消息发送回您的服务器。这并不一定会使 GCM 更可靠,但它确实可以让您更好地审核设备实际接收到的消息。

    Openfire 是一个支持 XMPP 的服务器,因此您仍然需要使用 Smack 来实现该协议。

    请注意,您可以跳过 GCM 并直接在您的应用和 XMPP 服务器之间建立连接,但不建议这样做,因为您的应用必须不断连接到您的服务器,这对设备的电池非常不利.这就是 GCM 的用武之地,它允许您的应用即使在后台接收消息,但仍然对设备的电池友好。

    【讨论】:

    • 当你说“你仍然需要实现协议”时,你的意思是在客户端,而不是在服务器本身。
    • 我的意思是在服务器端,客户端没有XMPP,设备使用XMPP不会持续很长时间。
    猜你喜欢
    • 2011-03-01
    • 1970-01-01
    • 2010-12-11
    • 2013-10-07
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 2019-01-29
    • 2016-02-09
    相关资源
    最近更新 更多