MQTT 声称在保持代理和客户端之间的连接打开时消耗的电量更少。我相信应用层不需要做任何特殊的事情来保持 TCP 连接,而 MQTT 是一个应用层协议(protocol)。那么,MQTT 在这方面是如何发挥作用的呢?
最佳答案
我认为 MQTT 被认为比 HTTP 功耗更低,主要是因为减少了传输的数据量,尤其是通过无线链路传输的数据量。
- MQTT 是一种二进制协议(protocol),因此开销较小
- 通过维护持久的 TCP 连接,避免了为每个已发布的数据项建立连接的开销
最大的节省是当客户端需要订阅消息时——等待远程系统向它发送数据。使用纯 HTTP,它需要某种轮询——消耗大量能量,即使在没有消息的情况下也是如此。使用 MQTT,可以通过打开的 TCP 连接将消息推送到客户端。
虽然还有许多其他协议(protocol)也允许这样做。 MQTT 就是为此目的而设计的。
关于tcp - MQTT连接耗电少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37362582/