MQTT 持久会话如何为没有公共 IP 的客户端工作?

问题描述 投票:0回答:1

我想知道持久会话如何适用于没有公共 IP 的 MQTT 客户端,特别是那些带有 NB-IoT sim 卡的 IoT 设备。 例如,我有设备 A 订阅了 Topic-X。我想知道broker如何将Topic-X的消息转发到设备A

  1. 首先,即使经纪人拥有设备 A IP 地址也无济于事,因为它不是公开的。
  2. A 成功订阅后,设备 A 和代理之间是否有某个隧道维护者?是否需要网络路由器的帮助来维护该隧道?
mqtt iot
1个回答
0
投票

会话持久性和客户端公共 IP 之间没有链接。

当客户端连接时,它会使用 客户端标识符 来标识自己,服务器将使用它来根据 规范 将连接链接到会话:

为了实现 QoS 1 和 QoS 2 协议流,客户端和服务器需要将状态与客户端标识符相关联,这称为会话状态。

请注意,连接始终由客户端建立(服务器永远不会尝试连接到客户端)。服务器将(根据订阅和“会话到期间隔”等设置)在连接断开时存储消息。

© www.soinside.com 2019 - 2024. All rights reserved.