我尝试发布如下消息:
mosquitto_pub -h 7.18.13.43 -t "Home/#" -m "test bulb1" -v -u user1
-P md
CError: Invalid publish topic 'Home/#', does it contain '+' or '#'?
mosquitto_pub -h 7.18.13.43 -t # -m "test bulb1" -u user1 -P md
Error: Invalid publish topic '#', does it contain '+' or '#'?
我不明白为什么会出现这些错误……?
答案1
我不是专家,但你肯定应该用实际的主题名称替换“#”。
如果我理解正确的话,# 是一个通配符,在订阅但不发布时才有意义。
这也与您收到的错误一致。
答案2
根据我的经验,我知道 # 是 MQTT 通配符,这意味着它后面的所有主题(主题层次结构级别)也应包括在内。实际上,通配符支持订阅主题,而不是发布。当我遇到同样的问题时,我很幸运地想出了这个解决方案。所以,我真的希望这对你有帮助。无论如何,如果你仍然遇到同样的问题,请检查MQTT 发布订阅了解更多信息。我会等你的回复,伙计。