2016-07-26 122 views
0

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

我也遇到了矛盾的信息,我希望有人可以澄清。据我所知,人们需要沿着GCM使用XMPP服务器;因为GCM本身不能可靠地传递消息,并且需要XMPP服务器完全可靠。这是真的,上面的链接暗示它不是,但根据这是https://www.youtube.com/watch?v=5wXGcu9H91s

一些澄清将是伟大的,谢谢。

回答

1

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

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

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

请注意,您可以跳过GCM并在您的应用和XMPP服务器之间直接建立连接,但不建议这样做,因为您的应用必须不断连接到您的服务器,这对于电池来说会非常困难设备。这就是GCM进来的地方,即使它在后台但仍然对设备的电池很友善,您的应用即可接收消息。

+0

当你说“你仍然需要实现协议”时,你的意思是在客户端上,而不是在服务器上。 – Czar

+0

我的意思是在服务器端,客户端没有XMPP,这些设备不会持续很长时间使用XMPP。 –

相关问题