一、该问题的重现步骤是什么?
1. 按照现在认证规则,设备clientId 格式为:0e827ddd1feb95a9263e91648746937a@000000|clienttype=0,timestamp=1751937247073|,但真实设备不支持带特殊字符如“=”,“,”等的。请问修改设备认证代码如何修改?
2. 启动了server、broker服务,在代码中添加了打印信息,也没打印
3.
二、你期待的结果是什么?实际看到的又是什么?
设备clientId 认证格式可以自己随意编写,认证成功。
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
0e827ddd1feb95a9263e91648746937a@000000|clienttype=0,timestamp=1751937247073|
真实设备可以只传 0e827ddd1feb95a9263e91648746937a@000000 就行,clienttype 默认是0可以不传,时间戳不建议真实设备传,这样设备每次 mqtt 重连都需要重新计算密码,还有 clientId 也会随之变化(会影响一些场景,例如保留消息),这个时间戳一版是建议页面 websocket mqtt 等场景使用。
系统启动的是单机版broker,用带参数的clientId(如下图)可以连通,但去掉参数clientId(bc14273011e17eb3b5984c1fa7fa432d@000000)就无法连通,请问那些地方还需要设置吗?
扫一扫访问 Blade技术社区 移动端