mqtt 发布成功_MQTT5.0 消息发布流程

本文介绍了MQTT5.0协议中QoS0、QoS1、QoS2的消息发布流程,强调了QoS2的资源消耗,并对比了MQTT3.0与5.0在QoS2处理上的差异,指出MQTT5.0强制存储Packet Id以减少带宽损耗。
摘要由CSDN通过智能技术生成

概览

MQTT5.0协议对部分QoS报文,以及报文处理的流程做了一些升级,本文对此这部分升级的内容做简单的介绍。

QOS报文格式及处理流程

在 MQTT 协议中,消息分为 3 个等级,分别用 QoS0, QoS1, QoS2, 这三个不同的 QoS 值所代表的是不同

的服务质量等级。以下是每一个服务质量级别的具体描述:

0 : 最多一次发送(若消息等级为 QoS 0,发布者在发布消息时只会发送一次,不管消息是否送达);

1 : 至少一次消息发送(若消息等级为 QoS 1,发布者在发布消息时会重复发送以确保消息发送成功);

2 : 消息只发送一次,并保证送达。(若消息等级为 QoS 2, 发布者在发布消息时确保接收者只接收到一个消息并且消息不会重复)。

在三种 QoS 消息等级中,QoS 0 是最节省计算资源的, 而 QoS 1 在发布完消息后还需要去接收到一个发布确认报文来停止重复的报文发送, QoS 2 消息的传输则需要更多的步骤,它需要 4 次报文发送来确保消息是单次送达的,是所有消息类型中最费计算资源和带宽的。

以下是 3 种不同 QoS 值的处理流程图:

在 MQTT 3.0 中,QoS 0的消息发布流程是这样

QoS 0 消息

发送者

控制报文流向

接受者

PUBLISH QoS = 0, DUP = 0

—>

接收消息(可能不会收到)并处理

QoS 1 消息

发送者

控制报文流向

接受者

存储消息</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值