【问题标题】:How MQTT saves battery and supports limited network connectivity?MQTT 如何节省电池并支持有限的网络连接?
【发布时间】:2014-12-29 20:46:31
【问题描述】:

我一直在阅读有关 MQTT 的信息,并且我了解它使用 TCP 进行网络传输。因此,如果我有一个将发送订阅请求的移动应用程序,我认为这将是一个全双工连接,因此可以通知客户端传入的推送数据。

那么这如何提高电池和网络效率?我的意思是你仍然建立了一个开放的 TCP 连接。还有它如何处理断开连接,它会自动重新连接到代理吗?

【问题讨论】:

  • 对于效率问题,您需要进一步澄清您的问题。你想和什么比较?

标签: mqtt mosquitto


【解决方案1】:

考虑到我对该问题的评论,假设您想与 HTTP Long 轮询进行比较,这 2 个链接可能有助于回答您的问题:

https://www.ibm.com/developerworks/community/blogs/sowhatfordevs/entry/using_mqtt_protocol_advantages_over_http_in_mobile_application_development5?lang=en

http://stephendnicholas.com/archives/1217

TL;DR 版本:

使用 MQTT 与 HTTP 相比,消息大小往往要小得多(尤其是当您考虑到所有发送的 http 标头时),这样可以节省网络使用量,进而节省电池使用量。

至于重新连接方面,客户端库不会自动重新连接,但它们会在连接断开时触发回调,以便您可以根据需要处理重新连接。

【讨论】:

  • 啊,这解释了它,所以我想到的是 MQTT 正在对连接做一些花哨的事情,所以它不会保持打开状态,因此它可以节省网络和电池,实际上这一切都与有效载荷大小。
  • 也感谢您的链接,实际上我在发布后找到了这两个。 :)
猜你喜欢
  • 1970-01-01
  • 2013-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多