MQTTnet は、MQTT ベースの通信用の高性能 .NET ライブラリです。 MQTT クライアントと MQTT サーバー (ブローカー) を提供し、バージョン 5 までの MQTT プロトコルをサポートします。サポートされているほとんどの .NET Framework バージョンおよび CPU アーキテクチャと互換性があります。
非同期のサポート
クライアントとサーバーの TLS サポート (UWP サーバーは除く)
拡張可能な通信チャネル (例: インメモリ、TCP、TCP+TLS、WS)
軽量 (MQTT の低レベル実装のみ、オーバーヘッドなし)
最適化されたパフォーマンス (~150,000 メッセージ/秒を処理)*
サポートされているすべてのバージョンの MQTT プロトコルで統一された API
内部トレースメッセージへのアクセス
単体テスト済み (~636 テスト)
外部依存関係なし
* TCP チャネルを使用して、MQTTnet クライアントとサーバーが同じプロセスで実行されているローカル マシン (Intel i7 8700K) でテストされています。検証用のアプリはこのリポジトリの一部であり、 /Tests/MQTTnet.TestApp.NetCoreに保存されます。
TCP (+TLS) または WS (WebSocket) による通信をサポート
低レベルの機能を備えたコアLowLevelMqttClientが含まれています
接続とサブスクリプションを自動的に維持するManagedMqttClientも含まれています。また、アプリケーション メッセージはキューに入れられ、より高い QoS レベルに合わせて自動的に再スケジュールされます。
Rx サポート (別のプロジェクト経由)
Microsoft Azure IoT Hubとの互換性
利用可能な接続クライアントのリスト
異なるプロトコルバージョンの接続クライアントを同時にサポート
独自のメッセージを発行可能 (ループバック クライアントは不要)
すべてのメッセージを受信可能 (ループバック クライアントは必要ありません)
拡張可能なクライアント認証情報の検証
インターフェイス メソッドを介した永続化を含め、保持されたメッセージがサポートされています (独自の実装が必要)
WebSocket のサポート (ASP.NET Core 2.0、別個の nuget 経由)
カスタム メッセージ インターセプターを追加すると、受信したすべてのアプリケーション メッセージを変換または拡張できます。
サブスクリプションを検証し、要求しているクライアントに応じて特定のトピックのサブスクリプションを拒否します。
MQTTnet は、 NuGetパッケージ マネージャーを通じて配信されます。パッケージはここで見つけることができます: https://www.nuget.org/packages/MQTTnet/
MQTTnet を手動でインストールするには、パッケージ マネージャー コンソールで次のコマンドを使用します。
Install-Package MQTTnet
MQTTnet を使用するためのサンプルは、このリポジトリの一部です。まず、次のサンプルをお勧めします。
ブローカーに接続する
データの購読
データの公開
ホスト自身のブローカー
このプロジェクトは、コミュニティで期待される行動を明確にするために、貢献者規約によって定義された行動規範を採用しています。詳細については、.NET Foundation の行動規範を参照してください。
このプロジェクトは .NET Foundation によってサポートされています。