跳到主要内容
版本:2.0.18

发布订阅

在MQTT中,有两个关键的角色:发布者(Publisher)和订阅者(Subscriber)。它们通过MQTT服务器(也称为代理或代理服务器)进行通信。下面简要介绍MQTT的发布订阅模型:

名词解释
发布者(Publisher)消息的产生者。可以是传感器、设备、应用程序等。
订阅者(Subscriber)消息的接收者。可以是其他设备、应用程序或服务。
主题(Topic)消息的目标分类,用于标识消息的内容。例如:"sensor/temperature"。
MQTT服务器(代理/代理服务器)FluxMQ中间件,负责处理消息的发布和订阅,确保消息传递给所有订阅者。

通配符

通配符解释
#可以匹配零个或多个层级的主题。只能出现在主题末尾。
+可以匹配一个层级的主题。可以出现在主题的任何位置。

FluxMQ支持两种通配符:+和#。+表示匹配一个层级,#表示匹配零个或多个层级。下面是一些例子:

  • 井号 #:

井号通配符表示可以匹配零个或多个层级的主题。它只能出现在主题的末尾,例如 home/living_room/#。 用法示例:如果一个订阅者订阅了主题 home/living_room/#,那么它将接收到诸如 home/living_room/light、home/living_room/temperature 等所有以 home/living_room/ 开头的消息。

  • 加号 +: 加号通配符表示可以匹配一个层级的主题。它可以出现在主题的任何位置,例如 home/+/light。 用法示例:如果一个订阅者订阅了主题 home/+/light,那么它将接收到诸如 home/living_room/light、home/kitchen/light 等层级为 home/ 下,且以 /light 结尾的消息。

保留标志

当使用MQTT发布消息时,可以设置保留消息标志(Retain Flag),它是一个消息属性,用于指示MQTT服务器在发布消息后是否要保留最新的消息副本,并在有新的订阅者连接到该主题时将其推送给订阅者。这样,新订阅者就能立即收到最近发布的消息,而不必等待下一次消息发布。