完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
umqtt的cleansession貌似不对用户开发,默认打开。 |
|
相关推荐
2个回答
|
|
RyanMqtt支持配置cleanSession选项
|
|
|
|
如果使用umqtt默认的cleansession,即断线后将清除会话状态并取消所有订阅,那么该客户端将无法接收离线消息。在这种情况下,如果想要接收离线消息,则需要在重新建立连接时手动设置cleansession为False。例如:
```python import umqtt.simple as mqtt client = mqtt.MQTTClient("client_id", "broker_address", keepalive=60) def sub_callback(topic, msg): # 处理订阅到的消息 pass client.set_callback(sub_callback) client.connect(clean_session=False) # 连接并设置cleansession为False client.subscribe("my_topic") # 订阅主题 while True: client.wait_msg() ``` 这样,即使客户端在重新连接后,还是可以接收到离线期间别人发布的消息。 另一方面,如果使用umqtt的同步版本(如umqtt.robust),则无需手动设置cleansession为False,因为在异常掉线后,客户端会自动重连并恢复之前的会话状态,包括订阅和未接收的消息。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
788 浏览 0 评论
4271 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2529 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2929 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31479 浏览 11 评论
72927 浏览 21 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 20:06 , Processed in 0.553557 second(s), Total 44, Slave 37 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号