3

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

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

4

1 回答 1

4

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

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 标头时),这样可以节省网络使用量,进而节省电池使用量。

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

于 2014-12-29T12:46:31.593 回答