mqtt - MQTT 消息中是否保留消息顺序?

标签 mqtt

我想知道消息发送顺序是否被保留。也就是说,当发布者发送消息序列时,是否保证每个订阅者收到与发布者发送的序列相同的序列?对于干净和持久的 session ?

最佳答案

MQTT 3.1.1 中消息排序功能的摘要可以在规范本身 here 中找到。 .

总结:

  • 不保证以不同 QoS 值发布的消息的相对顺序。 (例如,QoS 0 可以超越 QoS 2,因为它涉及单个数据包,而不是后者的 4 个数据包)。
  • QoS 0 消息将按顺序传递(尽管消息可能会丢失)
  • QoS 2 消息将按顺序传送
  • QoS 1 允许消息重复 - 在发布下一条消息的第一个实例之后,重复消息可能会到达。

如果客户端/代理在任何时间只允许单个消息传输,则可以保证 QoS 1 排序。

关于mqtt - MQTT 消息中是否保留消息顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30955110/

相关文章:

Mqtt 客户端如何知道另一个客户端是否已连接

android - Android 上的 MQTT : connection lost

android - 改版本为Androidx后,并没有变成mqtt connect

java - Java中的 "org.eclipse.paho.client.mqttv3-1.2.0"库是否可以一次获取多个MQTT消息?

ssl - Mosquitto TLS,适用于 MQTTfx 但不适用于 mosquitto_pub(tlsv1 警报未知 ca)

algorithm - 为什么 MQTT 对剩余长度使用如此奇怪的编码方案?

authentication - MQTT Broker 基于 token 的身份验证

c - 示例 MQTT 客户端代码不起作用 C

ios - 终止我的应用程序后如何保持与 mqtt 代理的连接(ios,Swift)

javascript - 如何在nodeJS中使用 mqtt.Client(streamBuilder, options) 构造函数