MQTTnet est une bibliothèque .NET hautes performances pour la communication basée sur MQTT. Il fournit un client MQTT et un serveur MQTT (broker) et prend en charge le protocole MQTT jusqu'à la version 5. Il est compatible avec la plupart des versions de .NET Framework et des architectures CPU prises en charge.
Prise en charge asynchrone
Prise en charge de TLS pour le client et le serveur (mais pas les serveurs UWP)
Canaux de communication extensibles (par exemple In-Memory, TCP, TCP+TLS, WS)
Léger (uniquement l'implémentation de bas niveau de MQTT, pas de surcharge)
Performances optimisées (traitement ~150 000 messages/seconde)*
API uniforme dans toutes les versions prises en charge du protocole MQTT
Accès aux messages de trace internes
Unité testée (~636 tests)
Aucune dépendance externe
* Testé sur une machine locale (Intel i7 8700K) avec le client et le serveur MQTTnet s'exécutant dans le même processus en utilisant le canal TCP. L'application de vérification fait partie de ce référentiel et est stockée dans /Tests/MQTTnet.TestApp.NetCore .
Communication via TCP (+TLS) ou WS (WebSocket) prise en charge
Inclus le noyau LowLevelMqttClient avec des fonctionnalités de bas niveau
Également inclus ManagedMqttClient qui maintient automatiquement la connexion et les abonnements. De plus, les messages d'application sont automatiquement mis en file d'attente et reprogrammés pour des niveaux de QoS plus élevés.
Prise en charge Rx (via un autre projet)
Compatible avec le hub Microsoft Azure IoT
Liste des clients connectés disponibles
Prend en charge les clients connectés avec différentes versions de protocole en même temps
Capable de publier ses propres messages (aucun client de bouclage requis)
Capable de recevoir chaque message (aucun client de bouclage requis)
Validation extensible des informations d'identification du client
Les messages conservés sont pris en charge, y compris la persistance via des méthodes d'interface (propre implémentation requise)
WebSockets pris en charge (via ASP.NET Core 2.0, nuget séparé)
Un intercepteur de messages personnalisé peut être ajouté, ce qui permet de transformer ou d'étendre chaque message d'application reçu.
Valider les abonnements et refuser l'abonnement à certains sujets en fonction des clients demandeurs
MQTTnet est fourni via le gestionnaire de packages NuGet . Vous pouvez trouver les packages ici : https://www.nuget.org/packages/MQTTnet/
Utilisez ces commandes dans la console Package Manager pour installer MQTTnet manuellement :
Install-Package MQTTnet
Des exemples d'utilisation de MQTTnet font partie de ce référentiel. Pour commencer, ces échantillons sont recommandés :
Connectez-vous avec un courtier
Abonnement aux données
Publication de données
Héberger son propre courtier
Ce projet a adopté le code de conduite défini par le Contributor Covenant pour clarifier le comportement attendu dans notre communauté. Pour plus d’informations, consultez le Code de conduite de la .NET Foundation.
Ce projet est soutenu par la .NET Foundation.