MQTTnet es una biblioteca .NET de alto rendimiento para comunicaciones basadas en MQTT. Proporciona un cliente MQTT y un servidor MQTT (broker) y admite el protocolo MQTT hasta la versión 5. Es compatible con casi cualquier versión de .NET Framework y arquitectura de CPU compatibles.
Soporte asíncrono
Compatibilidad con TLS para cliente y servidor (pero no para servidores UWP)
Canales de comunicación extensibles (p. ej., en memoria, TCP, TCP+TLS, WS)
Ligero (solo la implementación de bajo nivel de MQTT, sin gastos generales)
Rendimiento optimizado (procesamiento ~150.000 mensajes/segundo)*
API uniforme en todas las versiones compatibles del protocolo MQTT
Acceso a mensajes de seguimiento internos
Unidad probada (~636 pruebas)
Sin dependencias externas
* Probado en una máquina local (Intel i7 8700K) con el cliente y el servidor MQTTnet ejecutándose en el mismo proceso utilizando el canal TCP. La aplicación de verificación forma parte de este repositorio y se almacena en /Tests/MQTTnet.TestApp.NetCore .
Se admite comunicación a través de TCP (+TLS) o WS (WebSocket)
Incluye núcleo LowLevelMqttClient con funcionalidad de bajo nivel
También se incluye ManagedMqttClient que mantiene la conexión y las suscripciones automáticamente. Además, los mensajes de la aplicación se ponen en cola y se reprograman automáticamente para niveles de QoS más altos.
Soporte Rx (a través de otro proyecto)
Compatible con Microsoft Azure IoT Hub
Lista de clientes conectados disponibles
Admite clientes conectados con diferentes versiones de protocolo al mismo tiempo
Capaz de publicar sus propios mensajes (no se requiere cliente loopback)
Capaz de recibir todos los mensajes (no se requiere cliente loopback)
Validación de credenciales de cliente extensible
Se admiten mensajes retenidos, incluida la persistencia a través de métodos de interfaz (se requiere implementación propia)
WebSockets compatibles (a través de ASP.NET Core 2.0, nuget separado)
Se puede agregar un interceptor de mensajes personalizado que permite transformar o ampliar cada mensaje de aplicación recibido.
Validar suscripciones y denegar la suscripción de ciertos temas dependiendo de los clientes que lo soliciten.
MQTTnet se entrega a través del administrador de paquetes NuGet . Puede encontrar los paquetes aquí: https://www.nuget.org/packages/MQTTnet/
Utilice estos comandos en la consola del Administrador de paquetes para instalar MQTTnet manualmente:
Install-Package MQTTnet
Los ejemplos para usar MQTTnet son parte de este repositorio. Para empezar se recomiendan estas muestras:
Conéctese con un corredor
Suscribirse a datos
Datos de publicación
Anfitrión de su propio corredor
Este proyecto ha adoptado el código de conducta definido por el Pacto del Contribuidor para aclarar el comportamiento esperado en nuestra comunidad. Para obtener más información, consulte el Código de conducta de .NET Foundation.
Este proyecto cuenta con el apoyo de la Fundación .NET.