mqtt 获取所有topic_MQTT--topic

本文详细介绍了MQTT协议中的主题概念,包括主题层级分隔符‘/’、多层通配符‘#’、单层通配符‘+’以及特殊通配符‘$’的使用规则和应用场景。通过示例解析了如何有效订阅和匹配不同层级和结构的主题,强调了主题在实际应用中的重要性,如部门层级、地理位置推送等。
摘要由CSDN通过智能技术生成

1、topic

定阅与发布必须要有主题,只有当定阅了某个主题后,才能收到相应主题的payload,才能进行通信。

2、 主题层级分隔符—“/”

主题层级分隔符使得主题名结构化。如果存在分隔符,它将主题名分割为多个主题层级。斜杠(‘/’ U+002F)用于分割主题的每个层级,为主题名提供一个分层结构。当客户端订阅指定的主题过滤器包含两种通配符时,主题层级分隔符就很有用了。主题层级分隔符可以出现在主题过滤器或主题名字的任何位置。相邻的主题层次分隔符表示一个零长度的主题层级。

如主题:

room212/electric

room212/tv/contrl/sensor

room212/tv/contrl/light

room212/air/sensor

3、 多层通配符—“#”

“#”是用于匹配主题中任意层级的通配符。多层通配符表示它的父级和任意数量的子层级。多层通配符必须位于它自己的层级或者跟在主题层级分隔符后面。不管哪种情况,它都必须是主题过滤器的最后一个字符 .

例如,如果客户端订阅主题 “china/xiangtan/#”,它会收到使用下列主题名发布的消息:

china/xiangtan

china/xiangtan/yuhu

china/xiangtan/yuetan/hnie

china/xiangtan/jiuhua/jiakao/kemusan

定阅主题示例

school/# //也匹配单独的 “school” ,因为 # 包括它的父级。

# //是有效的,会收到所有的应用消息。

school/teacher/# //有效的。

school/teacher# /

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值