ntex-mqtt icon indicating copy to clipboard operation
ntex-mqtt copied to clipboard

fix:Modify the send_at_least_once() process, and pkt_ack() to cancel …

Open StanLi-ops opened this issue 2 years ago • 2 comments

…the packet ID mismatch judgment.

StanLi-ops avatar May 18 '22 03:05 StanLi-ops

this change would allow silently violate protocol constraints.

could you explain what do you need in first place?

fafhrd91 avatar May 18 '22 06:05 fafhrd91

this change would allow silently violate protocol constraints.

could you explain what do you need in first place?

In the qos1 publishing process, when the delay of the receiver responding to the publishing and replying to the ack is greater than the retransmission timeout time of qos1, the sender will receive multiple acks with the same id. So all but the first ack will trigger a protocol error because the packet id does not exist, which results in having to disconnect from the existing receiver. I haven't found in the mqtt protocol how to deal with invalid ack packets, so I think it is enough to just prompt that the ack is invalid and discard such acks, instead of actively disconnecting as a protocol error.

StanLi-ops avatar May 18 '22 07:05 StanLi-ops

this changes breaks protocol handling process. I cannot accept it

fafhrd91 avatar Jan 04 '23 12:01 fafhrd91