dotnet / MQTTnet

MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.
MIT License
4.51k stars 1.07k forks source link

MQTT over QUIC #1195

Open geffzhang opened 3 years ago

geffzhang commented 3 years ago

Describe the feature request

.NET 6 supports Http3, and MQTT can support running on HTTP3, reference And QUIC meets IoT: performance assessment of MQTT over QUIC

Which project is your feature request related to?

Describe the solution you'd like

The underlying network of MQTT changes from TCP to Quic's UDP to improve network performance

chkr1011 commented 2 years ago

This would require a QUIC implementation for C# first. I saw some projects but they are sometimes only prototypes or do not support encryption etc. If there is a suitable library out there please reopen the ticket.

dynamiquel commented 2 years ago

This would require a QUIC implementation for C# first. I saw some projects but they are sometimes only prototypes or do not support encryption etc. If there is a suitable library out there please reopen the ticket.

Does MsQuic not fulfil these requirements?

chkr1011 commented 2 years ago

Thanks for the update. I will have a look.

geffzhang commented 2 years ago

MQTT over QUIC: Next-Generation IoT Standard Protoco

chkr1011 commented 2 years ago

Does anyone know a public broker which supports QUIC so that we can test the implementation easily?

SeppPenner commented 2 years ago

EMQX supports it, but not sure if the public broker does: https://www.emqx.com/en/blog/mqtt-over-quic

geffzhang commented 2 years ago

emqx 5.0 support mqtt over quic https://www.emqx.com/en/blog/mqtt-over-quic#mqtt-over-quic-implementation-of-emqx-5-0