我一直在阅读有关 MQTT 的资料,我知道它使用 TCP 进行网络传输。因此,如果我有一个将发送订阅请求的移动应用程序,我假设这将是一个全双工连接,以便客户端可以收到传入推送数据的通知。
那么如何提高电池和网络效率呢?我的意思是你仍然建立了一个开放的 TCP 连接。还有它如何处理断开连接,它会自动重新连接到代理吗?
最佳答案
考虑到我对这个问题的评论,假设您想与 HTTP 长轮询进行比较,这两个链接可能有助于回答您的问题:
http://stephendnicholas.com/archives/1217
TL;DR 版本:
与 HTTP 相比,MQTT 的消息大小往往要小得多(尤其是当您考虑发送的所有 http header 时),这样可以节省网络使用量,进而节省电池使用量。
至于重新连接方面,客户端库不会自动重新连接,但它们会在连接断开时触发回调,因此您可以根据需要处理重新连接。
关于mqtt - MQTT 如何节省电池并支持有限的网络连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27688772/