一、主题
MQTT的消息是以主题进行分类的,主题可以使用单级主题和多级主题,多级主题的标志是用/
分隔的。例如:sensor
、 sensor/temperature
、 sensor/temperature/room1
在客户端向主题发布或者订阅消息之前,无需去创建主题。这些服务器统统都会搞定。
主题使用建议:
-
绝不使用斜杆开头的主题名,例如:
/myhome/groundfloor/livingroom
-
绝不在主题名中使用空格
-
保持主题名短小和简洁
-
仅使用ASCII码,避免使用ASCII码中的非打印字符
二、主题通配符
客户端可以对于具体的主题进行订阅,但某一类主题全部进行订阅,此时需要通配符来解决了。MQTT中给出了两种通配符:单级通配符(+)和多级通配符(#)
? 注意:主题通配符仅能用来订阅,不能用作发布
- 单级通配符(+)
例如:想订阅所有房间的温度传感器的温度消息,对于所有房间的房间号是不能提前预知的,但是可以通过单级通配符搞定所有房间号。
- 多级通配符(#)
例如:想订阅房间号room1的所有不同传感器的消息,对于所有不同传感器的类型是不能提前预知的,但是可以通过多级通配符搞定不同类型传感器名称。
? 注意:多级通配符只能放在最后一级