Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | 51CTO学院 | CSDN程序员研修院 | OSChina 博客 | 腾讯云社区 | 阿里云栖社区 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏多维度架构

191.4. MQTT 主题通配符

MQTT 主题通配符包含: 单层通配符 + 及多层通配符 #,通配符主要用于客户端一次订阅多个主题。

[提示]提示

注意:通配符只能用于订阅,不能用于发布。

			
+ 有效
sensor/+ 有效
sensor/+/temperature 有效
sensor+ 无效(没有占据整个层级)
			
		

sensor/+ 会匹配以下主题:

			
sensor/1
sensor/temperature
			
		

如果客户端订阅了主题 sensor/+/temperature,将会收到以下主题的消息:

			
sensor/1/temperature
sensor/2/temperature
...
sensor/n/temperature

sensor/test/temperature
			
		

但是不会匹配以下主题:

			
sensor/bedroom/1/temperature
			
		

多层通配符,井字符号(#)是用于匹配主题中任意层级的通配符。

			
# 有效,匹配所有主题
sensor/# 有效
sensor/bedroom# 无效(没有占据整个层级)
sensor/#/temperature 无效(不是主题最后一个字符)		
			
		

如果客户端订阅主题 senser/#,它将会收到以下主题的消息:

			
sensor
sensor/temperature
sensor/1/temperature