MQTT连接消耗的功率更少

时间:2016-05-21 11:54:27

标签: tcp mqtt iot

据称,MQTT在代理和客户端之间保持连接打开的功耗更低。我认为应用层不需要做任何特殊的事情来持久化TCP连接,而MQTT是一个应用层协议。那么,MQTT如何即兴创作?

2 个答案:

答案 0 :(得分:3)

我认为MQTT被认为比HTTP更低,主要是因为减少了传输的数据量,特别是在无线链路上。

  1. MQTT是二进制协议,因此开销较少
  2. 通过维护持久的TCP连接,可以避免为每个已发布的数据项建立连接的开销
  3. 最大的节省是客户端需要订阅消息 - 等待远程系统发送数据。使用普通HTTP,它需要某种轮询 - 即使在没有消息的情况下也会占用大量功率。使用MQTT,可以通过打开的TCP连接将消息推送到客户端。

    虽然还有很多其他协议允许这样做。 MQTT就是为此目的而设计的。

答案 1 :(得分:0)

HTTP(S)不保持连接打开 - 因此为了获得连续连接的“效果”,HTTPS客户端必须继续发出轮询请求,每个请求都涉及创建TCP连接并协商SSL / TLS每次需要民意调查时加密等。

相比之下,MQTT在开始时建立连接,因此TCP和SSL / TLS开销成本仅支付一次。 MQTT在TCP连接之上的应用程序之间传递保持活动消息,以便应用程序可以检测连接何时中断,这允许MQTT代理在连接断开时可靠地发布(可选)客户端最后遗嘱/遗嘱

你读过的文章说,与HTTPS相比,MQTT可以节省50%的移动电池电量。