simps / mqtt

🕹 MQTT Protocol Analysis and Coroutine Client for PHP. Support for 3.1, 3.1.1 and 5.0 versions of the MQTT protocol.
https://mqtt.simps.io
Apache License 2.0
358 stars 58 forks source link

断线重连时,能不能把首次连接时相关的操作再进行一次初始化,比如订阅的主题 #62

Closed sy-records closed 3 years ago

sy-records commented 3 years ago

断线重连时,能不能把首次连接时相关的操作再进行一次初始化,比如订阅的主题

Originally posted by @bufanyun in https://github.com/simps/mqtt/issues/61#issuecomment-950479873

sy-records commented 3 years ago

由用户自行实现,处理连接异常。参考 MQTT 协议的 Clean Session 部分。

清理会话标志设置为1的客户端不会收到旧的应用消息,而且在每次连接成功后都需要重新订阅任何相关的主题。清理会话标志设置为0的客户端会收到所有在它连接断开期间发布的QoS 1和QoS 2级别的消息。因此,要确保不丢失连接断开期间的消息,需要使用QoS 1或 QoS 2级别,同时将清理会话标志设置为0。