MQTT主题中允许使用多个#吗?

时间:2019-06-27 18:08:52

标签: mqtt

是否可以在MQTT主题中使用多个#

例如:

  

传感器/数据/#/某物/其他/#

2 个答案:

答案 0 :(得分:2)

MQTT规范(v3v5)说,一个主题只能在主题中使用一次#,并且必须在结尾。例如

sensor/data/foo/#

第二个通配符为+。它可以在主题中的任何位置(/之间)使用,并且与单个主题级别匹配。例如

sensor/+/foo/+/json

这将匹配:

sensor/1/foo/temp/json
sensor/2/foo/humidity/json

但不匹配:

sensor/1/bar/temp/json

sensor/+/+/data

这将匹配:

sensor/foo/bar/data

但不是:

sensor/foo/bar/baz/data

您也可以将两者结合起来

sensor/+/bar/#

这将匹配:

sensor/foo/bar/baz/wibble/json
sensor/bar/bar/black/sheep

答案 1 :(得分:1)

不,不是。 #仅在末尾允许。

有关更多信息:MQTT Topics & Best Practices