MQTT Mosquitto Broker 不发送所有保留的消息
MQTT Mosquitto Broker does not sent all retained messages
我在接收来自 Mosquitto 代理的所有保留消息时遇到问题。
代理已启动,我有一个单独的程序用 3000 条保留设置为 true 的消息填充代理。
当我使用我的客户端连接时,我只收到 1020 条消息。
我错过了什么以及如何获取所有保留消息。
我正在使用 WPF 应用程序 (Net Framework 4.6.2) 和 python 脚本。结果与两者相同。
另外,我正在使用通配符订阅。
Mosquitto 版本 2.0.10
配置文件如下:
acl_file ./configs/acl.acl
password_file ./configs/pwfile
allow_anonymous false
listener 8883
cafile ./certs/ca.crt
certfile ./certs/root.crt
keyfile ./certs/root.key
tls_version tlsv1.2
ACL 文件:
user TestUser
topic read public/read/alarm/#
topic write public/write/alarm/#
max_inflight_messages count
The maximum number of outgoing QoS 1 or 2 messages that can be in the process of being transmitted simultaneously. This includes messages currently going through handshakes and messages that are being retried. Defaults to 20. Set to 0 for no maximum. If set to 1, this will guarantee in-order delivery of messages.
max_queued_messages count
The maximum number of QoS 1 or 2 messages to hold in the queue (per client) above those messages that are currently in flight. Defaults to 1000. Set to 0 for no maximum (not recommended). See also the queue_qos0_messages and max_queued_bytes options.
由于您的配置不包含这些选项中的任何一个,默认值 20(最大飞行)和 1000(最大排队)开始生效,因此在您连接时接收最多 1020 条消息是预期的结果。如果您希望 Mosquitto 存储更多消息,请将 max_queued_messages x
添加到您的 mosquitto.conf
(其中 x 是最大消息数或 0 表示无限制)。
我在接收来自 Mosquitto 代理的所有保留消息时遇到问题。 代理已启动,我有一个单独的程序用 3000 条保留设置为 true 的消息填充代理。 当我使用我的客户端连接时,我只收到 1020 条消息。 我错过了什么以及如何获取所有保留消息。
我正在使用 WPF 应用程序 (Net Framework 4.6.2) 和 python 脚本。结果与两者相同。 另外,我正在使用通配符订阅。
Mosquitto 版本 2.0.10 配置文件如下:
acl_file ./configs/acl.acl
password_file ./configs/pwfile
allow_anonymous false
listener 8883
cafile ./certs/ca.crt
certfile ./certs/root.crt
keyfile ./certs/root.key
tls_version tlsv1.2
ACL 文件:
user TestUser
topic read public/read/alarm/#
topic write public/write/alarm/#
max_inflight_messages count
The maximum number of outgoing QoS 1 or 2 messages that can be in the process of being transmitted simultaneously. This includes messages currently going through handshakes and messages that are being retried. Defaults to 20. Set to 0 for no maximum. If set to 1, this will guarantee in-order delivery of messages.
max_queued_messages count
The maximum number of QoS 1 or 2 messages to hold in the queue (per client) above those messages that are currently in flight. Defaults to 1000. Set to 0 for no maximum (not recommended). See also the queue_qos0_messages and max_queued_bytes options.
由于您的配置不包含这些选项中的任何一个,默认值 20(最大飞行)和 1000(最大排队)开始生效,因此在您连接时接收最多 1020 条消息是预期的结果。如果您希望 Mosquitto 存储更多消息,请将 max_queued_messages x
添加到您的 mosquitto.conf
(其中 x 是最大消息数或 0 表示无限制)。