【发布时间】:2016-05-17 10:13:16
【问题描述】:
我正在使用 Paho 与 MQTT 代理进行通信,我发现的所有示例(如 this)在执行操作(发布或订阅)时都执行以下 3 个步骤:
- 连接到代理
- 行动
- 断开连接
我的问题是:在应用程序的整个生命周期中保持连接而不是为每个操作打开/关闭连接是否有任何缺点?消除打开连接的时间不是更快的解决方案吗?
【问题讨论】:
我正在使用 Paho 与 MQTT 代理进行通信,我发现的所有示例(如 this)在执行操作(发布或订阅)时都执行以下 3 个步骤:
我的问题是:在应用程序的整个生命周期中保持连接而不是为每个操作打开/关闭连接是否有任何缺点?消除打开连接的时间不是更快的解决方案吗?
【问题讨论】:
不,在应用程序的整个生命周期中保持连接打开是完全可以预期的用例,这是您能够订阅主题并在发布消息时接收消息的唯一真实方式。
该协议已内置 ping 消息,以确保代理知道客户端仍处于连接状态。
这些示例往往相对琐碎,但希望展示客户端的完整生命周期,这就是它们连接、执行某些操作、断开连接的原因
【讨论】: