dotnet / dotnet/MQTTnet

Client side delivery guarantee (QoS 1 or 2)

Open
#374 11 comments 0 reactions 0 assignees View on GitHub
feature-request
Dominant language
C#
Stars
5.1k
Forks
1.2k
PR merge metrics
No merged PRs in 30d

Description

**Steps:**

1 - Connect to Broker
2 - Subscribe to the topic "test/"
2 - Disconnect the client
3 - Send a message to a topic "test/" with QoS 1 or 2
4 - Close the application
5 - Open the application
6 - Connect to Broker

**Result:**

Messages sent with QoS 1 and 2 will be lost

**Expected results**

Resend messages after restarting the application using MQTT only

By MQTT protocol specification, when using QoS 1 or 2, you are guaranteed that the message arrives in the broker, but if the client is offline and restart the application, the message will be loss

Using ManagedClient I will have the guarantee that the message will be delivered, but it has some limitations like `CleanSession = false`, so I can not guarantee that QoS 1 or 2 will reach me

It seems to me that the QoS 1 and 2 delivery guarantee defined in the MQTT protocol is not being met.

Is there any plan for this?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.