MQTT与XMPP我应该选择哪一个

本文关键字:选择 哪一个 我应该 XMPP MQTT | 更新日期: 2023-09-27 18:06:05

概述

我在客户端(Android手机(和服务器(Windows服务器(之间来回发送消息。通过TCP使用持久连接,哪种协议将是最佳解决方案。我关注的是性能、可扩展性、消息大小和电池寿命。消息必须按顺序到达目的地,并且不能重复。

MQTT

这似乎是一个更好的解决方案,但似乎很少有大量用户的大型实现的例子。我不确定我是否可以将其集成到windows服务器中,或者它是否必须是另一个正在运行的应用程序或服务器。最后,似乎普遍缺乏关于这方面的信息。

XMPP

这似乎有很多实现、示例,甚至还有一本书:(。然而,主要目的似乎是为即时消息客户端和谷歌聊天之类的东西。这将是服务器和客户端之间消息传递的最佳解决方案吗。我知道目前XMPP主要用于客户端到服务器到客户端的体系结构。

如果我错了,请纠正我,并提前感谢您的指导。

MQTT与XMPP我应该选择哪一个

这取决于您尝试做什么以及运行什么硬件。

MQTT的保活流量非常低。XMPP是一种IM协议,在处理所有客户端之间的存在消息时,开销要高得多。

如果内存占用空间很小,那么必须处理XML解析器可能会使XMPP无法使用。

请记住,MQTT代表消息队列遥测传输,即,它是一种传输协议,根本不定义消息格式——您必须提供它;XMPP是一种即时消息协议,它仔细定义了所有消息格式,并要求所有消息都是XML格式。

除此之外:MQTT是一个发布-订阅协议,XMPP是一个可以扩展(使用XEP-0060(以支持发布-订阅的即时消息协议。在构建系统时,您需要考虑这一点。

我们发现MQTT是一个安静的成功者。你的夫人可能不一样。

这完全取决于。。。

追踪LinkedIn最近发布的关于他们在移动应用程序中使用MQTT的公告。

干杯标记

(顺便说一句,Andy在提到我们时有点偏离。我们在澳大利亚布里斯班昆士兰大学教育创新与技术中心(

简而言之,MQTT相对于XMPP的优势在于:

  • 吞吐量:开销更小,重量更轻
  • 二进制与纯文本
  • QoS到位(即发即弃、At-least-once和Exactly-once(
  • Pub/Sub到位(XMPP要求扩展XEP-0060(
  • 不需要XML解析器

我认为您可能正在纠正您对XMPP的评估,因为它是一个主要面向聊天的协议——它也相当重量级,并且大量使用XML,使其变得冗长。我知道布里斯班大学CEIT的人员专门研究了这两种协议的差异和最佳用途。MQTT重量轻、功耗低,用于遥测和传感器应用已有10多年的历史,IBM及其合作伙伴已对其进行了大规模部署。人们现在发现,像这样简单的协议是移动开发的理想选择。

你到底想实现什么?mqtt.org网站旨在提供内容的良好链接。还有IRC频道和邮件列表。我们能提供什么帮助?