2
回答
MQTT协议的will topic和will message的用途是什么,connack数据包的0x05返回码什么时候使用?
终于搞明白,存储TCO原来是这样算的>>>   

mqtt协议中的connect数据包中可以带上will topic和will message两个数据,这两个数据是用来做什么的?

connack数据包中返回码:

0x04 Connection Refused: bad user name or password
0x05 Connection Refused: not authorized

04和05不都是没通过验证么?区别是什么?什么情况返回05?

举报
肥昊
发帖于4年前 2回/3K+阅
共有2个答案 最后回答: 2年前

will topic和will message有点像立遗嘱。也即在连接服务器时通告:当我连接异常终止时请帮我发布这条message到相应的topic。但要注意的是,will topic和will message必须成对出现,并且还须设置will flag。如果需要服务器保留这份遗嘱,则还需设置will retain。


username和password其实在mqtt协议中不是必须的,如果设置了username flag和password flag,却没有传递username和password,服务器拿不到username和password,那就是bad user name or password了;对于not authorized就很好理解了,就是服务器拿到username和password后,授权没有通过。

--- 共有 1 条评论 ---
肥昊发帖一年来就你回答了。虽然早已知道答案,不过还是要感谢一声! 3年前 回复
顶部