Android GCM:了解XMPP

Android GCM:了解XMPP,第1张

概述我正在尝试使用app在我的GCM中实现XMPP协议,但即使经过广泛搜索,我也不了解它背后的概念.另外,也许我真的不需要XMPP用于我想用我的应用程序做什么,但我喜欢学习东西.让我们举一个关于我可以用HTTP做什么的例子:>我的应用程序发送“helloword”和regId到我的小人物服务器:url.ope

我正在尝试使用app在我的GCM中实现XMPP协议,但即使经过广泛搜索,我也不了解它背后的概念.

另外,也许我真的不需要XMPP用于我想用我的应用程序做什么,但我喜欢学习东西.

让我们举一个关于我可以用http做什么的例子:

>我的应用程序发送“hello word”和regID到我的小人物服务器:url.openConnection(“”),然后OutputStream用于发送POST数据和inputStream用于获取响应
>服务器,在这个url,将“hello word”消息放入带有regID的数据库中,然后使用PHP的curl库将数据作为Json字符串发送到GCM服务器,如{“myResponse”:“我是不是世界我是丹“}(在模拟器中使用测试目的地ID)
> GCM服务器做他的事
>我的应用程序(可能在另一部手机上)在WakefulbroadcastReceiver中使用IntentService,它将消息作为intent.getExtras().getString(“myResponse”)

这很好用,我可以使用我的应用程序从一部手机向另一部手机发送消息,并通过我的服务器收集数据.

很少问题

这种处理http的方式是理论上的吗? (我看过很多帖子和教程,特别是谷歌的帖子和教程,但仍然不确定)

大的真实问题

使用XMPP执行相同 *** 作的步骤是什么?

我不想要教程或代码片段,我想了解信息通过这个协议的方式我不太了解(我设法在我的服务器上安装ejabberd并在我的电脑上使用pIDgin和在我的手机上使用Xabber ).

解决方法:

Official定义:

The Google Cloud Messaging (GCM) Cloud Connection Server (CCS) is an
XMPP endpoint that provIDes a persistent, asynchronous, bIDirectional
connection to Google servers.

建立与CCS的连接是这里第一步也是最重要的一步.完成此 *** 作并保持长期连接后,其他部分就不那么棘手了.

两者之间存在一些差异:
1)与http不同,对于XMPP消息,您不需要在每个有效负载中包含Authentication头,因为服务器在连接时已经过身份验证,我们正在维护相同的连接.
2)CCS使用XMPP作为传输层,因此在成功建立连接后,您可以交换节.
3)您可以继续使用http作为下游,如果您愿意,只能将XMPP用于上游.
4)而不是registration_IDs param用于:在XMPP中,我们只能通过一个节发送到一个RegID.

因此,如果我要解释您的示例如何与XMPP一起使用:
– 与CCS建立连接
– 从客户端“Hello,World!”向服务器发送upstream message.
– 一旦您的服务器通过向GCM发送ACK接收此消息,请确认
– 对于downstream message,您可以选择使用http或XMPP
– 但是如果XMPP:接收,保存在数据库中并且发送响应({“myResponse”:“我不是世界我是Dan”})回到客户端(相同或不同的RegID)发送下游节到CCS; CCS将发送ACK / NACK以确认它已收到该消息
– 一旦客户端应用程序收到消息,您还将收到delivery_receipt(如果请求).

除此之外,您可以通过阅读我在整个帖子中链接的官方文档来更深入地了解.

希望这可以帮助!

总结

以上是内存溢出为你收集整理的Android GCM:了解XMPP全部内容,希望文章能够帮你解决Android GCM:了解XMPP所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1097270.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存