为什么不能将主题别名存储在 MQTT v5 中的持久会话中
Why can't topic aliases be stored in a persistent session in MQTT v5
据我了解,主题别名未存储在会话状态中。 [4.1 MQTT 5 规范部分]
对我们来说,这意味着每次设备连接时,都必须使用发布数据包将主题名称映射到别名,从而增加通信时间并使设备保持清醒状态的时间更长。
如果我只在开始新会话时将主题名称映射到主题别名,我会更喜欢它。导致发送的数据较少,设备可以快速返回睡眠状态。
我们使用的经纪商是 EMQX,我已经创建了一个支持工单。
我知道存储别名会增加会话状态的存储要求。
有谁能证实这一点,他们是如何克服这个限制的?
来自 MQTTv5 规范的 3.3.2.3.4 部分
Topic Alias mappings exist only within a Network Connection and last only for the lifetime of that Network Connection. A receiver MUST NOT carry forward any Topic Alias mappings from one Network Connection to another [MQTT-3.3.2-7].
规范中明确指出它们不能是存储会话数据的一部分。
据我了解,主题别名未存储在会话状态中。 [4.1 MQTT 5 规范部分]
对我们来说,这意味着每次设备连接时,都必须使用发布数据包将主题名称映射到别名,从而增加通信时间并使设备保持清醒状态的时间更长。
如果我只在开始新会话时将主题名称映射到主题别名,我会更喜欢它。导致发送的数据较少,设备可以快速返回睡眠状态。
我们使用的经纪商是 EMQX,我已经创建了一个支持工单。
我知道存储别名会增加会话状态的存储要求。
有谁能证实这一点,他们是如何克服这个限制的?
来自 MQTTv5 规范的 3.3.2.3.4 部分
Topic Alias mappings exist only within a Network Connection and last only for the lifetime of that Network Connection. A receiver MUST NOT carry forward any Topic Alias mappings from one Network Connection to another [MQTT-3.3.2-7].
规范中明确指出它们不能是存储会话数据的一部分。