MQTTnet é uma biblioteca .NET de alto desempenho para comunicação baseada em MQTT. Ele fornece um cliente MQTT e um servidor MQTT (broker) e suporta o protocolo MQTT até a versão 5. É compatível com praticamente qualquer versão do .NET Framework e arquitetura de CPU suportada.
Suporte assíncrono
Suporte TLS para cliente e servidor (mas não servidores UWP)
Canais de comunicação extensíveis (por exemplo, In-Memory, TCP, TCP+TLS, WS)
Leve (apenas a implementação de baixo nível do MQTT, sem sobrecarga)
Desempenho otimizado (processamento de aproximadamente 150.000 mensagens/segundo)*
API uniforme em todas as versões suportadas do protocolo MQTT
Acesso a mensagens de rastreamento internas
Unidade testada (~636 testes)
Sem dependências externas
* Testado em máquina local (Intel i7 8700K) com cliente e servidor MQTTnet rodando no mesmo processo usando o canal TCP. O aplicativo para verificação faz parte deste repositório e está armazenado em /Tests/MQTTnet.TestApp.NetCore .
Comunicação via TCP (+TLS) ou WS (WebSocket) suportada
Núcleo LowLevelMqttClient incluído com funcionalidade de baixo nível
Também incluído ManagedMqttClient que mantém a conexão e as assinaturas automaticamente. Além disso, as mensagens do aplicativo são enfileiradas e reprogramadas automaticamente para níveis de QoS mais altos.
Suporte Rx (por meio de outro projeto)
Compatível com Hub IoT do Microsoft Azure
Lista de clientes conectados disponíveis
Suporta clientes conectados com diferentes versões de protocolo ao mesmo tempo
Capaz de publicar suas próprias mensagens (não é necessário cliente de loopback)
Capaz de receber todas as mensagens (não é necessário cliente de loopback)
Validação extensível de credenciais de cliente
Mensagens retidas são suportadas, incluindo persistência por meio de métodos de interface (requer implementação própria)
WebSockets suportados (via ASP.NET Core 2.0, nuget separado)
Um interceptador de mensagens personalizado pode ser adicionado, o que permite transformar ou estender cada mensagem recebida do aplicativo
Validar assinaturas e negar assinaturas de determinados tópicos dependendo dos clientes solicitantes
MQTTnet é entregue por meio do gerenciador de pacotes NuGet . Você pode encontrar os pacotes aqui: https://www.nuget.org/packages/MQTTnet/
Use estes comandos no console do Gerenciador de Pacotes para instalar o MQTTnet manualmente:
Install-Package MQTTnet
Amostras para usar MQTTnet fazem parte deste repositório. Para começar, estas amostras são recomendadas:
Conecte-se com um corretor
Assinando dados
Publicação de dados
Hospedar próprio corretor
Este projeto adotou o código de conduta definido pelo Contributor Covenant para esclarecer o comportamento esperado em nossa comunidade. Para obter mais informações, consulte o Código de Conduta da .NET Foundation.
Este projeto é apoiado pela .NET Foundation.