Overview of MQTTnet features
masterMQTTnet is a high-performance .NET library for MQTT-based communication supporting up to MQTT version 5. It provides both a client and a server (broker) implementation.
Client Capabilities
- Supports communication via TCP (+TLS) or WebSockets (WS).
- LowLevelMqttClient: Provides low-level MQTT functionality.
- ManagedMqttClient: Automatically maintains connections and subscriptions. It also queues and re-schedules application messages for higher QoS levels automatically.
- Compatible with Microsoft Azure IoT Hub.
Server (Broker) Capabilities
- Supports multiple protocol versions simultaneously.
- Extensible client credential validation.
- Supports retained messages (requires implementing interface methods for persistence).
- Supports WebSockets (via ASP.NET Core 2.0, available in a separate NuGet package).
- Allows adding custom message interceptors to transform or extend received application messages.
- Supports subscription validation to deny specific topics based on the requesting client.