mosquitto通配符订阅topic和桥接模式详解
发布日期:2021-10-03 22:59:13 浏览次数:13 分类:技术文章

本文共 977 字,大约阅读时间需要 3 分钟。

本文介绍了mosquitto如何使用通配符订阅话题和两个通配符的详细用法; 同时,介绍了如何使用桥接模式及桥接模式的意义。

1 基于通配符的topic订阅

Mosquitto支持两种通配符订阅topic’+’ ’*’ +用于匹配topic树的单个一级. 例如topic "a/b/c/d", 下面的订阅都可以匹配:

  • a/b/c/d
  • +/b/c/d
  • a/+/c/d
  • a/+/+/d
  • +/+/+/+

但是下面的这些格式不能匹配:

  • a/b/c
  • b/+/c/d
  • +/+/+

第二种通配符是 # ,用于匹配topic树的子序列。 例如topic "a/b/c/d", 下面的订阅格式都可以匹配:

  • a/b/c/d
  • #
  • a/#
  • a/b/#
  • a/b/c/#
  • +/b/c/#

$SYS 不能直接使用 "#". 如果需要订阅整个$SYS 的所有信息, 需要使用 $SYS/#.

通配符必须自己单独使用, 所以像"a/b+/c" 这样是无效的通配符用法. ‘#’只能用在订阅字符串的结尾.

2 Bridge桥接模式

Mosquitto支持通过bridge(桥接)的方式连接多台broker,其中一台broker作为bridge节点,在其配置文件(mosquitto.conf)中添加桥接选项:

connection bridge1

address 192.168.1.102:1883

topic # both 0

 

connection bridge2

address 192.168.1.103:1883

topic /sensor/temperature in 1

其中bridge1/bridge2是为其他broker起的名字,

address是其他brokerIP和端口,

topic指定了允许本地broker和对方broker之间传递的消息主题:

配成’#’ 表示所有主题消息都将被传递。

both/in/out是指允许的消息方向, ’in’ 是指此主题消息的转发方向只能是从对方broker到本地broker,不能从本地broker到对方broker,这时如果有客户端连接到本地broker订阅/sensor/temperature这个主题的话,发布到对方broker上的/sensor/temperature主题消息本地客户端也可以收到,反之则收不到。

转载地址:https://blog.csdn.net/lclfans1983/article/details/105740824 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:基于Nginx+nginx-rtmp-module实现 RTMP web流媒体方案
下一篇:mosquitto查看系统状态信息

发表评论

最新留言

关注你微信了!
[***.104.42.241]2023年02月25日 17时38分17秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

操作系统同步互斥问题 2019-12-08 11:36:43
C++中值传递(pass-by-value)和引用传递(pass-by-reference) 2019-12-08 11:36:40
python的模块导入 2019-12-08 11:36:40
C++中const用法 2019-12-08 11:36:41
操作系统原理学习(第一周)_操作系统概述 2019-12-08 11:36:41
操作系统原理学习(第三周_上)_进程 2019-12-08 11:36:41
操作系统原理学习(第二周)_操作系统结构 2019-12-08 11:36:41
操作系统原理学习_第三周(下)_进程 2019-12-08 11:36:41
(四)建筑物多边形化简系统——“去尾巴”和分割复杂多边形 2019-12-08 11:36:39
shp系列(二)——利用C++进行shp文件的读(打开) 2019-12-08 11:36:39
shp系列(三)——利用C++进行DBF文件的读(打开) 2019-12-08 11:36:39
shp系列(四)——利用C++进行Shx文件的读(打开) 2019-12-08 11:36:39
shp系列(五)——利用C++进行shp文件的写(创建) 2019-12-08 11:36:39
shp系列(六)——利用C++进行Dbf文件的写(创建) 2019-12-08 11:36:40
shp系列(七)——利用C++进行Shx文件的写(创建) 2019-12-08 11:36:40
利用道格拉斯·普客法(DP法)压缩矢量多边形(C++) 2019-12-08 11:36:40
算法学习(2)--数组、链表和跳表的基本实现与特性 2019-12-08 11:36:37
(五)建筑物多边形化简系列——最小外接矩形的获取 2019-12-08 11:36:38
计算机知识记录本 2019-12-08 11:36:38
(三)建筑物多边形化简系列——去除冗余点 2019-12-08 11:36:38