MQTT监听消息,匹配不上主题或者有别的错误返回信息?

IOT 未结 1 131
82101697
82101697 剑圣 2025-02-27 15:36

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

1. 这里监听到终端发送的消息,假设主题格式不对或者数据有错误,我想返回消息给终端。怎么实现?

2. 

3.


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


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


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


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

image.png

1条回答
  • 2025-02-27 18:11

    mqtt是异步的呀,没法直接返回。除非设备端监听了对应topic的“_reply”返回topic。你服务端根据传过来的topic,然后去进行匹配或者格式校验,就在这个listener里写逻辑。如果topic匹配不到或者格式错误,那么就给对应的 _reply 发送新的mqtt消息就可以了。具体可以参考各个不同function的返回消息写法

    作者追问:2025-03-11 17:51

    mica-mqtt不是有实现IMqttServerSubscribeValidator这个接口吗?我用这个来监听终端设备连接到mqtt服务时传过来的topic是否合法?我看你们代码也有写这个自定义验证,但是我把注释开启,终端连接时不会跳转到这个代码里面? 你之前说的在监听器onMessage里回复,这个怎么实现?

    image.png

    0 讨论(0)
代码语言
提交回复