Mqtt MOSQUITO机上消息=1,但同时收到多条消息

Mqtt MOSQUITO机上消息=1,但同时收到多条消息,mqtt,mosquitto,Mqtt,Mosquitto,我已经将max\u inflight\u messages设置为1,但在压力测试后,我的客户同时收到多条消息 我误解了什么吗?我认为“按顺序传递消息”意味着每条消息都应该通过PUBLISH、PUBREC、PUBREL、PUBCOMP发送,然后是下一条消息 提取的mosquitto.log 1488858217: Sending PUBLISH to client (d0, q2, r0, m669, 'test/topic', ... (7 bytes)) 1488858217: Sending

我已经将max\u inflight\u messages设置为1,但在压力测试后,我的客户同时收到多条消息

我误解了什么吗?我认为“按顺序传递消息”意味着每条消息都应该通过PUBLISH、PUBREC、PUBREL、PUBCOMP发送,然后是下一条消息

提取的
mosquitto.log

1488858217: Sending PUBLISH to client (d0, q2, r0, m669, 'test/topic', ... (7 bytes))
1488858217: Sending PUBLISH to client (d0, q1, r0, m670, 'test/topic', ... (7 bytes))
1488858217: Sending PUBLISH to client (d0, q2, r0, m671, 'test/topic', ... (7 bytes))
1488858217: Sending PUBLISH to client (d0, q2, r0, m672, 'test/topic', ... (7 bytes))
1488858217: Sending PUBLISH to client (d0, q2, r0, m673, 'test/topic', ... (7 bytes))
1488858217: Received PUBREC from client (Mid: 669)
1488858217: Sending PUBREL to client (Mid: 669)
1488858217: Received PUBACK from client (Mid: 670)
1488858217: Received PUBREC from client (Mid: 671)
1488858217: Sending PUBREL to client (Mid: 671)
1488858217: Received PUBREC from client (Mid: 672)
1488858217: Sending PUBREL to client (Mid: 672)
1488858217: Received PUBREC from client (Mid: 673)
1488858217: Sending PUBREL to client (Mid: 673)
谢谢


这个问题也发布到

您需要确保Mqtt代理的QoS处于2级。这可以确保所有消息只接收一次,但这也会极大地影响性能,因为接收消息可能需要很长时间


日志输出无法显示所有消息是按顺序传递的。很抱歉,我使用了一个误导性的主题。在我的案例中,我希望确保客户端只处理一条mqtt消息。MQTT客户机可能内存不足,无法同时处理大量MQTT消息以保存其状态。