MQTTnet ist eine leistungsstarke .NET-Bibliothek für MQTT-basierte Kommunikation. Es stellt einen MQTT-Client und einen MQTT-Server (Broker) bereit und unterstützt das MQTT-Protokoll bis Version 5. Es ist mit den meisten unterstützten .NET Framework-Versionen und CPU-Architekturen kompatibel.
Async-Unterstützung
TLS-Unterstützung für Client und Server (jedoch nicht für UWP-Server)
Erweiterbare Kommunikationskanäle (z. B. In-Memory, TCP, TCP+TLS, WS)
Leichtgewichtig (nur die Low-Level-Implementierung von MQTT, kein Overhead)
Leistungsoptimiert (Verarbeitung ~150.000 Nachrichten/Sekunde)*
Einheitliche API für alle unterstützten Versionen des MQTT-Protokolls
Zugriff auf interne Trace-Nachrichten
Unit-getestet (~636 Tests)
Keine externen Abhängigkeiten
* Getestet auf einem lokalen Computer (Intel i7 8700K), wobei MQTTnet-Client und -Server im selben Prozess über den TCP-Kanal ausgeführt werden. Die App zur Verifizierung ist Teil dieses Repositorys und in /Tests/MQTTnet.TestApp.NetCore gespeichert.
Kommunikation über TCP (+TLS) oder WS (WebSocket) unterstützt
Enthaltener Kern- LowLevelMqttClient mit Low-Level-Funktionalität
Außerdem ist ManagedMqttClient enthalten, das die Verbindung und Abonnements automatisch verwaltet. Außerdem werden Anwendungsnachrichten automatisch in die Warteschlange gestellt und für höhere QoS-Stufen neu geplant.
Rx-Unterstützung (über ein anderes Projekt)
Kompatibel mit Microsoft Azure IoT Hub
Liste der verfügbaren verbundenen Clients
Unterstützt verbundene Clients mit unterschiedlichen Protokollversionen gleichzeitig
Kann eigene Nachrichten veröffentlichen (kein Loopback-Client erforderlich)
Kann jede Nachricht empfangen (kein Loopback-Client erforderlich)
Erweiterbare Validierung der Client-Anmeldeinformationen
Zurückbehaltene Nachrichten werden unterstützt, einschließlich Persistenz über Schnittstellenmethoden (eigene Implementierung erforderlich)
WebSockets unterstützt (über ASP.NET Core 2.0, separates Nuget)
Es kann ein benutzerdefinierter Nachrichten-Interceptor hinzugefügt werden, der die Umwandlung oder Erweiterung jeder empfangenen Anwendungsnachricht ermöglicht
Validieren Sie Abonnements und verweigern Sie das Abonnement bestimmter Themen, abhängig von den anfragenden Kunden
MQTTnet wird über den NuGet -Paketmanager bereitgestellt. Die Pakete finden Sie hier: https://www.nuget.org/packages/MQTTnet/
Verwenden Sie diesen Befehl in der Package Manager-Konsole, um MQTTnet manuell zu installieren:
Install-Package MQTTnet
Beispiele für die Verwendung von MQTTnet sind Teil dieses Repositorys. Für den Anfang empfehlen sich diese Beispiele:
Verbinden Sie sich mit einem Broker
Daten abonnieren
Daten veröffentlichen
Hosten Sie Ihren eigenen Broker
Dieses Projekt hat den im Contributor Covenant definierten Verhaltenskodex übernommen, um das erwartete Verhalten in unserer Community zu klären. Weitere Informationen finden Sie im Verhaltenskodex der .NET Foundation.
Dieses Projekt wird von der .NET Foundation unterstützt.