MQTT 代理连接管理

MQTT broker connection management

我正在使用 Paho to communicate with an MQTT broker and all the example I found (like this) 在执行操作(发布或订阅)时执行以下 3 个步骤:

  1. 连接到代理
  2. 执行操作
  3. 断开连接

我的问题是:在应用程序的整个生命周期中保持连接而不是在每个操作中保持连接 opening/closing 是否有任何缺点?去掉打开连接的时间不是更快的解决方案吗?

不,在应用程序的生命周期内保持连接打开是一个完全预期的用例,这是您能够订阅主题并在发布消息时接收消息的唯一真实方式。

该协议内置了 ping 消息,以确保代理知道客户端仍处于连接状态。

示例往往相对琐碎,但希望显示客户端的完整生命周期,这就是为什么它们连接、执行某些操作、断开连接的原因