Arad.Message.Broker.MQTT
1.0.0
.NET Standard 1.3
.NET Framework 4.5.2
Install-Package Arad.Message.Broker.MQTT -Version 1.0.0
dotnet add package Arad.Message.Broker.MQTT --version 1.0.0
<PackageReference Include="Arad.Message.Broker.MQTT" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Arad.Message.Broker.MQTT --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Arad.Message.Broker.MQTT, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Arad.Message.Broker.MQTT as a Cake Addin
#addin nuget:?package=Arad.Message.Broker.MQTT&version=1.0.0
// Install Arad.Message.Broker.MQTT as a Cake Tool
#tool nuget:?package=Arad.Message.Broker.MQTT&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Arad.Message.Broker
Arad Message Broker 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 https://mqtt.org.
Features
General
- Async support
- TLS 1.2 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
- Uniform API across all supported versions of the MQTT protocol
- Interfaces included for mocking and testing
- Access to internal trace messages
- No external dependencies
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
- Connect clients with different protocol versions at the same time.
Arad Message Broker Server
AradMessageBrokerServer_ is a standalone cross platform MQTT server (like mosquitto) basing on this library. It has the following features.
- Running portable (no installation required)
- Runs und Windows, Linux, macOS, Raspberry Pi
- Python scripting support for manipulating messages, validation of clients, building business logic etc.
- Supports WebSocket and TCP (with and without TLS) connections
- Provides a HTTP based API (including Swagger endpoint)
- Extensive configuration parameters and customization supported
Supported frameworks
- .NET Standard 1.3+
- .NET Core 1.1+
- .NET Core App 1.1+
- .NET Framework 4.5.2+ (x86, x64, AnyCPU)
- Mono 5.2+
- Universal Windows Platform (UWP) 10.0.10240+ (x86, x64, ARM, AnyCPU, Windows 10 IoT Core)
- Xamarin.Android 7.5+
- Xamarin.iOS 10.14+
- Blazor WebAssembly 3.2.0
Supported MQTT versions
- 5.0.0
- 3.1.1
- 3.1.0
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp1.0 netcoreapp1.1 netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netstandard2.1 |
.NET Framework | net452 net46 net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen30 tizen40 tizen60 |
Universal Windows Platform | uap uap10.0 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.5.2
- No dependencies.
-
.NETFramework 4.6.1
- No dependencies.
-
.NETStandard 1.3
- NETStandard.Library (>= 1.6.1)
- System.Net.Security (>= 4.3.2)
- System.Net.WebSockets (>= 4.3.0)
- System.Net.WebSockets.Client (>= 4.3.2)
-
.NETStandard 2.0
- System.Net.Security (>= 4.3.2)
- System.Net.WebSockets (>= 4.3.0)
- System.Net.WebSockets.Client (>= 4.3.2)
-
.NETStandard 2.1
- No dependencies.
-
UAP 10.0
- Microsoft.NETCore.UniversalWindowsPlatform (>= 6.2.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0 | 276 | 10/25/2020 |