Windows 版本: Windows 11 专业版 24H2
NanoMQ 版本: nanomq-0.23.6-windows-x86_64
NanoMQ 配置: 默认配置
MQTTX 版本: v1.11.1
测试例程: 消息过期间隔介绍与示例 | MQTT 5.0 特性详解
期望结果:
实际结果:
问题描述:
- 消息过期间隔未生效,实际结果中 5 秒后仍然能够收到过期消息;
- 消息过期时间不更新,不会显示剩下的过期时间;
- QoS 0 订阅者无法收到消息,只有 QoS 1/2 信息可以使用消息过期间隔。
猜测对于 QoS 0 消息,Broker 通常不进行排队存储,所以消息过期间隔的机制(即在队列中存储一段时间后丢弃)没有应用,然而使用 EMQX 公共服务器没有这个问题; - 实际结果中,sub 上线后过了很久才接收到过期间隔消息。