概述
我在客户端(Android手机)和服务器(Windows Server)之间来回发送消息。通过TCP使用持久连接,哪种协议将是最佳解决方案。我正在考虑性能,可扩展性,消息大小和电池寿命。消息必须按顺序到达目的地,不能重复。
这似乎是更好的解决方案,但似乎很少有大量用户实施大型示例。我不确定是否可以将其集成到Windows服务器中,或者是否必须是另一个应用程序或服务器正在运行。最后,似乎总体上缺乏有关它的信息。
这似乎有很多实现,例子,甚至是一本书:)。然而,主要目的似乎是即时通讯客户端和谷歌谈话之类的东西。这是服务器和客户端之间消息传递的最佳解决方案吗?我知道目前XMPP主要用于客户端到服务器到客户端架构。
如果我错了,请纠正我,并提前感谢任何指导。
答案 0 :(得分:58)
这取决于您尝试做什么以及您正在运行的硬件。
MQTT具有非常低的保持活动流量。 XMPP是一种IM协议,在处理所有客户端之间的状态消息方面具有更高的开销。
如果您的内存占用量很小,那么必须处理XML解析器可能会使XMPP无法使用。
请记住,MQTT代表Message Queue遥测传输,即它是传输协议,根本不定义消息格式 - 您必须提供此消息; XMPP是一种即时消息传递协议,它仔细定义所有消息格式,并要求所有消息都是XML格式。
除此之外:MQTT是一种发布订阅协议,XMPP是一种即时消息传递协议,可以扩展(使用XEP-0060)来支持发布订阅。在构建系统时需要考虑这一点。
我们发现MQTT是安静的成功者。你的milage可能会有所不同。
一切都取决于......
追踪LinkedIn最近的公告,讨论他们在移动应用中使用MQTT的情况。
干杯 标记
(顺便说一句,顺便提到我们的安迪。我们在澳大利亚布里斯班昆士兰大学教育创新与技术中心(CEIT))
答案 1 :(得分:10)
我认为简而言之,MQTT优于XMPP的优势是:
答案 2 :(得分:5)
我认为你可能正在纠正你对XMPP的评估,因为它是一个主要面向聊天的协议 - 它也非常重量级,并且使用XML广泛地使它变得冗长。我知道布里斯班大学的CEIT人员专门研究了两种方案的差异和最佳用途。 MQTT非常轻巧,功耗低 - 十多年来一直用于遥测和传感器应用,并且已经由IBM和合作伙伴大规模部署。人们现在发现像这样的简单协议是移动开发的理想选择。
您到底想要实现什么目标? mqtt.org网站旨在提供良好的内容链接。还有关于它的IRC频道和邮件列表。我们能帮你什么吗?