当消息质量Qos=2时,若是接收者的PUBCOMP协议上报失败,这个时候Emqx是否会再次下发消息呢?

如标题描述,查看mqtt协议流程图,并未得到想要的结果。该问题主要是在接收方为硬件,调试的时候发现有重复消息,而MQTTx工具并未收到重复消息。所以有此疑问!

首先,如果只是发送端没有收到 PUBCOMP 报文的响应,也只会重传 PUBREL 报文。

其次,即便在 PUBLISH、PUBREL 阶段,PUBLISH 报文被重传了,它也会在 MQTT X 的底层被去重,所以你在 MQTT X 只会看到收到一条消息。


如上图,Notify消息的时候接收端是否会被消费?重发PUBREL报文的话,Notify消息会被再次执行吗?

可以看下这篇博客:MQTT QoS 0, 1, 2 介绍 | EMQ