MQTTnet 是一個用於基於 MQTT 通訊的高效能 .NET 函式庫。它提供 MQTT 用戶端和 MQTT 伺服器(代理),並支援最高版本 5 的 MQTT 協定。
非同步支援
對客戶端和伺服器(但不包括 UWP 伺服器)的 TLS 支持
可擴展的通訊通道(例如記憶體中、TCP、TCP+TLS、WS)
輕量級(僅MQTT的底層實現,無開銷)
效能最佳化(每秒處理約 150.000 則訊息)*
跨所有支援的 MQTT 協定版本的統一 API
存取內部追蹤訊息
單元測試(約 636 次測試)
無外部依賴
* 在本機電腦(Intel i7 8700K)上進行測試,MQTTnet 用戶端和伺服器使用 TCP 通道在相同進程中執行。用於驗證的應用程式是此儲存庫的一部分,並儲存在/Tests/MQTTnet.TestApp.NetCore中。
支援透過 TCP (+TLS) 或 WS (WebSocket) 進行通信
包含具有低階功能的核心LowLevelMqttClient
還包括ManagedMqttClient ,它會自動維護連接和訂閱。此外,應用程式訊息也會自動排隊並重新調度以獲得更高的 QoS 等級。
Rx 支援(透過另一個專案)
與微軟Azure物聯網中心相容
可用的已連接客戶端列表
支援同時連接不同協定版本的客戶端
能夠發布自己的訊息(不需要環回客戶端)
能夠接收每個訊息(不需要環回客戶端)
可擴展的客戶端憑證驗證
支援保留訊息,包括透過介面方法持久化(需要自己的實作)
支援 WebSockets(透過 ASP.NET Core 2.0,單獨的 nuget)
可以添加自訂訊息攔截器,允許轉換或擴展每個收到的應用程式訊息
根據請求的客戶端驗證訂閱並拒絕訂閱某些主題
MQTTnet 透過NuGet套件管理器提供。您可以在這裡找到這些套件:https://www.nuget.org/packages/MQTTnet/
在程式包管理器控制台中使用下列命令手動安裝 MQTTnet:
Install-Package MQTTnet
使用 MQTTnet 的範例是此儲存庫的一部分。對於初學者,建議使用以下範例:
與經紀人聯繫
訂閱數據
發布數據
託管自己的經紀人
該項目採用了貢獻者契約定義的行為準則,以闡明我們社區的預期行為。有關詳細信息,請參閱 .NET 基金會行為準則。
此計畫由 .NET 基金會支持。