broker中的发布mqtt消息的方法,需要设备订阅后才能收到

IOT 未结 2 649
QQ895623
QQ895623 2025-01-24 13:54

一、该问题的重现步骤是什么?

1. 我在broker里写了个收到消息后,回复消息的功能,然后我发现我重启了后台之后,我设备发了消息,收不到回复的消息,但我已经订阅了,但是如果我重新订阅一下,就可以收到回复消息,我想问下每次设备重连后,都要重新订阅吗?有没有自动订阅的方法?

2. 后台代码:image.png

3.mqttx工具截图:image.png


二、你期待的结果是什么?实际看到的又是什么?


三、你正在使用的是什么产品,什么版本?在什么操作系统上?


四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  如梦技术
    2025-01-24 15:56

    mqtt 是订阅发布的,下行直接发 publishAll,不需要指定 clientId。publish 方法带 clientId 其实是违背 mqtt 设计的。就算使用 publish 下发下去了,不同的 mqtt client 处理方式不一样,可能并不会执行。不建议用这个方法。这个方法之所以没删除,是因为有的同学用它做了一些特殊处理。

代码语言
提交回复