Giter VIP home page Giter VIP logo

Comments (8)

chkr1011 avatar chkr1011 commented on May 18, 2024

If it is missing it is a bug. I also remember adding support for it. Probably I forgot a place. Can you give me some details why you mentioned this?

from mqttnet.

1iveowl avatar 1iveowl commented on May 18, 2024

Sure. I'm in the process for creating a cross platform Xamarin MQTT Tester app and was implementing Publish and noticed that the Dub Flag was missing.

from mqttnet.

chkr1011 avatar chkr1011 commented on May 18, 2024

Cool, let me know if this library works with Xamarin. I also have a app on my wishlist but you are faster.

But what exactly do you mean with the "missing" Dub-Flag? In the MqttApplicationMessage? From my understanding a user cannot set it actively. Only the client can use it internally and let the server know that the message was already sent. Or at least tried.

from mqttnet.

1iveowl avatar 1iveowl commented on May 18, 2024

Sure, but in a test scenario that is what you might want to do.

And yes, the library world fine with Xamarin.

from mqttnet.

chkr1011 avatar chkr1011 commented on May 18, 2024

OK so only for testing purposes but not a real live scenario. I have doubts exposing it. Let me read some documents about MQTT. I will decide then 😄

Awesome. I tried it with Xamarin.Android but it didn't work. The code always stops after ConnectAsync. It simply hangs and I didn't found a solution. The debug output shows zillions of error because lots of .net libraries were not found. Can you tell me what you have done? Anything special beside adding proper app permissions like Internet?

from mqttnet.

chkr1011 avatar chkr1011 commented on May 18, 2024

I just found that line in the official docs:

It is important to note that the DUP flag refers to the Control Packet itself and not to the Application Message that it contains.

As far as I understand this it means that the Dup flag shall not be exposed to a application message. Only the client uses it internally for its communication retries etc. I also didn't find something else. If I expose it the value must be validated. Sending 0 and it was already tried is a protocol violation. Also sending 1 and it was never sent before is also a violation. So in my opinion this will only produce more problems. What do you think?

from mqttnet.

1iveowl avatar 1iveowl commented on May 18, 2024

Sound right. I didn't study the spec that close.

Regarding Xamarin. It just worked. I don't recall any issues.

I'm using it with the latest version of Xamarin. Maybe it's because I've set it up with .Net Standard.

from mqttnet.

1iveowl avatar 1iveowl commented on May 18, 2024

Just found this:

DUP flag
The duplicate flag indicates, that this message is a duplicate and is resent because the other end didn’t acknowledge the original message. This is only relevant for QoS greater than 0 and more details are in part 6, which is about QoS levels. This resend/duplicate mechanism is typically handled by the MQTT client library or the broker as an implementation detail.

Also, see here in section 3.3.1.1 Dup in the OASIS 3.1.1. Spec

from mqttnet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.