我想知道持久会话如何适用于没有公共 IP 的 MQTT 客户端,特别是那些带有 NB-IoT sim 卡的 IoT 设备。 例如,我有设备 A 订阅了 Topic-X。我想知道broker如何将Topic-X的消息转发到设备A
会话持久性和客户端公共 IP 之间没有链接。
当客户端连接时,它会使用 客户端标识符 来标识自己,服务器将使用它来根据 规范 将连接链接到会话:
为了实现 QoS 1 和 QoS 2 协议流,客户端和服务器需要将状态与客户端标识符相关联,这称为会话状态。
请注意,连接始终由客户端建立(服务器永远不会尝试连接到客户端)。服务器将(根据订阅和“会话到期间隔”等设置)在连接断开时存储消息。