返回排行榜

dotnet/MQTTnet

C#

MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server (broker). The implementation is based on the documentation from http://mqtt.org/.

mqttmqtt-clientmqtt-brokermqtt-servernetcorenetiotiot-platformiot-frameworkcsharpnetframeworkcommunication
Star 增长趋势
Star
5k
Forks
1.2k
周增长
Issues
168
2k4k
2023年1月2024年3月2025年5月2026年7月
README


NuGet Badge CI MyGet Size Join the chat at https://gitter.im/MQTTnet/community License: MIT

MQTTnet

MQTTnet is a high performance .NET library for MQTT based communication. It provides a MQTT client and a MQTT server ( broker) and supports the MQTT protocol up to version 5. It is compatible with mostly any supported .NET Framework version and CPU architecture.

Features

General

  • Async support
  • TLS support for client and server (but not UWP servers)
  • Extensible communication channels (e.g. In-Memory, TCP, TCP+TLS, WS)
  • Lightweight (only the low level implementation of MQTT, no overhead)
  • Performance optimized (processing ~150.000 messages / second)*
  • Uniform API across all supported versions of the MQTT protocol
  • Access to internal trace messages
  • Unit tested (~636 tests)
  • No external dependencies

* Tested on local machine (Intel i7 8700K) with MQTTnet client and server running in the same process using the TCP channel. The app for verification is part of this repository and stored in /Tests/MQTTnet.TestApp.NetCore.

Client

  • Communication via TCP (+TLS) or WS (WebSocket) supported
  • Included core LowLevelMqttClient with low level functionality
  • Also included ManagedMqttClient which maintains the connection and subscriptions automatically. Also application messages are queued and re-scheduled for higher QoS levels automatically.
  • Rx support (via another project)
  • Compatible with Microsoft Azure IoT Hub

Server (broker)

  • List of connected clients available
  • Supports connected clients with different protocol versions at the same time
  • Able to publish its own messages (no loopback client required)
  • Able to receive every message (no loopback client required)
  • Extensible client credential validation
  • Retained messages are supported including persisting via interface methods (own implementation required)
  • WebSockets supported (via ASP.NET Core 2.0, separate nuget)
  • A custom message interceptor can be added which allows transforming or extending every received application message
  • Validate subscriptions and deny subscribing of certain topics depending on requesting clients

Getting Started

MQTTnet is delivered via NuGet package manager. You can find the packages here: https://www.nuget.org/packages/MQTTnet/

Use these command in the Package Manager console to install MQTTnet manually:

Install-Package MQTTnet

Samples for using MQTTnet are part of this repository. For starters these samples are recommended:

Code of Conduct

This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. For more information see the .NET Foundation Code of Conduct.

.NET Foundation

This project is supported by the .NET Foundation.

相关仓库
home-assistant/core

:house_with_garden: Open source home automation that puts local control and privacy first.

PythonPyPIApache License 2.0pythonhome-automation
home-assistant.io
89.4k38.1k
curl/curl

A command line tool and library for transferring data with URL syntax, supporting DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, MQTTS, POP3, POP3S, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS. libcurl offers a myriad of powerful features

COtherhttphttps
curl.se
42.4k7.3k
blakeblackshear/frigate

NVR with realtime local object detection for IP cameras

TypeScriptnpmMIT Licensertsprealtime
frigate.video
34.5k3.4k
pppscn/SmsForwarder

短信转发器——监控Android手机短信、来电、APP通知,并根据指定规则转发到其他手机:钉钉群自定义机器人、钉钉企业内机器人、企业微信群机器人、飞书机器人、企业微信应用消息、邮箱、bark、webhook、Telegram机器人、Server酱、PushPlus、手机短信等。包括主动控制服务端与客户端,让你轻松远程发短信、查短信、查通话、查话簿、查电量等。(V3.0 新增)PS.这个APK主要是学习与自用,如有BUG请提ISSUE,同时欢迎大家提PR指正

KotlinBSD 2-Clause "Simplified" Licensesmsdingding
27.2k3.3k
arendst/Tasmota

Alternative firmware for ESP8266 and ESP32 based devices with easy configuration using webUI, OTA updates, automation using timers or rules, expandability and entirely local control over MQTT, HTTP, Serial or KNX. Full documentation at

CGNU General Public License v3.0tasmotafirmware
tasmota.github.io/docs
24.6k5.1k
thingsboard/thingsboard

Open-source IoT Platform - Device management, data collection, processing and visualization.

JavaMavenApache License 2.0visualizationiot
thingsboard.io
22.1k6.4k
influxdata/telegraf

Agent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data.

GoGo ModulesMIT Licensetelegrafmonitoring
influxdata.com/telegraf
17.7k5.8k
emqx/emqx

The most scalable and reliable MQTT broker for AI, IoT, IIoT and connected vehicles

ErlangOthermqttiot
emqx.com
16.5k2.5k
rabbitmq/rabbitmq-server

Open source RabbitMQ: core server and tier 1 (built-in) plugins

JavaScriptnpmOtherrabbitmqamqp
rabbitmq.com
13.8k4k
cesanta/mongoose

Embedded web server, with TCP/IP network stack, MQTT and Websocket

COtherwebsocketmqtt
mongoose.ws
12.9k2.9k
esphome/esphome

ESPHome is a system to control your ESP32, ESP8266, BK72xx, RP2040 by simple yet powerful configuration files and control them remotely through Home Automation systems.

C++Otherhome-automationiot
esphome.io
11.4k5.5k
eclipse-mosquitto/mosquitto

Eclipse Mosquitto - An open source MQTT broker

COthermqttbroker
mosquitto.org
11.1k2.6k