添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Skip to content
EMQX 文档

通配符订阅

MQTT 主题名称是用于消息路由的 UTF-8 编码字符串。为了提供更大的灵活性,MQTT 支持分层主题命名空间。主题通常按层级分级,并使用斜杠 / 在级别之间进行分隔,例如 chat/room/1 通配符订阅 允许客户端在主题名称中包含一个或多个通配符字符,通过主题过滤器匹配多个主题,从而实现一次订阅多个主题。本页介绍了 MQTT 中支持的两种类型的通配符的用法以及如何在 EMQX 中订阅包含通配符的主题。

TIP

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

单层通配符

+ (U+002B)是一个通配符字符,仅匹配一个主题层级。单层通配符可以在主题过滤器的任何层级中使用,包括第一个和最后一个层级。在使用时,它必须占据整个过滤器层级。它可以在主题过滤器的多个层级中使用,并且可以与多层通配符结合使用。下面是一些使用单层通配符的示例:

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

但是不会匹配以下主题:

多层通配符

# (U+0023)是一个通配符字符,匹配主题中的任意层级。多层通配符表示它的父级和任意数量的子层级,在使用多层通配符时,它必须占据整个层级并且必须是主题的最后一个字符,例如:

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