MQTT的通配符
主题语法和用法
当你建立一个应用,设计主题树的时候应该考虑以下的主题名字的语法和语义:
-
主题至少有一个字符长。
-
主题名字是大小写敏感的。比如说,ACCOUNTS和Accounts是两个不同的主题。
-
主题名字可以包含空格。比如,Accounts payable是一个有效的主题。
-
以/开头会产生一个不同的主题。比如说,/finnace与finance不同。/finance匹配"+/+"和/+,但不匹配+
-
不要在任何主题中包含null(Unicode \x0000)字符。
以下的原则应用于主题树的建造和内容
-
在主题树中,长度被限制于64k内但是在这以内没有限制层级的数目 。
-
可以有任意数目的根节点;也就是说,可以有任意数目的主题树。
多层通配符
#
全部topic
a
a/b
a/c
a/b/c
a/b/d
a/b/c/d
a/b/d/c
如果订阅 a/b/#
可以收到以下topic消息
a/b
a/b/c
a/b/d
a/b/c/d
a/b/d/c
单层通配符
+
全部topic
a
a/b
a/c
a/b/c
a/b/d
a/b/c/d
a/b/d/c
如果订阅 a/b/+
可以收到以下topic消息
a/b/c
a/b/d