这是机器未来的第34篇文章
原文首发地址:http://t.csdn.cn/DwLgX

主题级别分隔符用于将结构引入主题名称。如果存在,它将主题名称划分为多个“主题级别”。
举例:阀门的状态数据主题:/topic/valve/state
订阅的主题过滤器可以包含特殊的通配符,允许您一次订阅多个主题。
通配符可以在主题过滤器中使用,但不得在主题名称[MQTT-4.7.1-1]中使用
topicName:/topic/valve/upload
topicFilter:/topic/valve/#
topicName:/topic/valve//control
| 序号 | 示例 | 合法状态 | 适配主题 | 备注 |
|---|---|---|---|---|
| 1 | sport/tennis/# | 合法 | sport/tennis/player1 sport/tennis/player1/ranking sport/tennis/player1/score/wimbledon | |
| 2 | sport/# | 合法 | sport sport/tennis sport/tennis/player1 sport/tennis/player1/ranking sport/tennis/player1/score/wimbledon | 多级通配符可匹配父级目录 |
| 3 | sport/tennis# | 非法 | 不满足【单独指定】或【主题级分隔符之后】 | |
| 4 | sport/tennis/#/ranking | 非法 | 不满足【主题过滤器 中指定的最后一个字符】 |
加号 (‘+’ U+002B) 是一个通配符,仅匹配一个主题级别。
| 序号 | 示例 | 合法状态 | 适配主题 | 备注 |
|---|---|---|---|---|
| 1 | sport/tennis/+ | 合法 | sport/tennis/player1 | |
| 2 | sport/+ | 合法 | sport/ sport/tennis | 单级通配符仅可匹配同级别主题,不可匹配子主题,也不可匹配父主题 |
| 3 | + | 合法 | sport | 单级通配符仅可匹配同级别主题 |
| 4 | +/tennis/# | 合法 | sport/tennis/player1 sport/tennis/player1/ranking sport/tennis/player1/score/wimbledon | |
| 5 | sport+ | 非法 | 不满足【必须占据过滤器的整个级别】 |
除非另有说明,如果服务器或客户端遇到协议违规,它必须关闭它收到导致协议违规的控制数据包的网络连接 [MQTT-4.8.0-1]。
客户端或服务器实现可能会遇到阻止成功处理 MQTT 数据包的瞬态错误(例如内部缓冲区已满情况)。
如果客户端或服务器在处理入站控制数据包时遇到瞬态错误,它必须关闭接收该控制数据包的网络连接 [MQTT-4.8.0-2]。如果服务器检测到瞬态错误,它不应该断开连接或对其与任何其他客户端的交互产生任何其他影响
《MQTT快速入门系列》快速导航:
写在末尾:
- 博客简介:专注AIoT领域,追逐未来时代的脉搏,记录路途中的技术成长!
- 专栏简介:从0到1掌握MQTT分布式协议。
- 面向人群:零基础编程爱好者
- 专栏计划:接下来会逐步发布跨入人工智能的系列博文,敬请期待
- Python零基础快速入门系列
- 快速入门Python数据科学系列
- 人工智能开发环境搭建系列
- 机器学习系列
- 物体检测快速入门系列
- 自动驾驶物体检测系列
- …
