MQTT的Retained消息

2023-12-21 10:34:20

  简单说:发布保留标识。表示服务器要保留这次推送的信息,如果有新的订阅者出现,就把这消息推送给它,如果设0那么推送至当前订阅者后释放。

  Retained 消息是指在 PUBLISH 数据包中 Retain 表示为 1 的消息,Broker 收到消息后,将会为该主题保存该 Retained 消息。当有新的订阅者订阅该主题时,Broker 会将这个消息立即发送给新的订阅者。

  Retained 消息存在以下特点:

  1. 一个 topic 只能存在一条 Retained 消息,发布新的 Retained 消息将会覆盖旧消息;

  2. 若订阅者使用通配符订阅主题,那么该订阅者将会收到所有的匹配主题的 Retained 消息;

  3. 只有新的订阅者才能够收到 Retained 消息;

  需要注意:Retained 消息与持久会话没有任何关系。Retained 消息针对主题 topic,Broker 为每一个 topic 单独存储;持久会话针对客户端 Client,Broker 为每一个 Client 单独存储。

  当 Retained 消息发送到订阅者时,PUBLISH 数据包中的 Retain 字段仍然为 1,订阅者可以根据该字段判断该消息是否是 Retained 消息从而进行相应的处理。

文章来源:https://blog.csdn.net/quantum7/article/details/135122754
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。