Arad.Message.Broker.MQTT
1.0.0
dotnet add package Arad.Message.Broker.MQTT --version 1.0.0
NuGet\Install-Package Arad.Message.Broker.MQTT -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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 and Polyglot Notebooks. 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 Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net452 is compatible. net46 was computed. net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 is compatible. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
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 | 442 | 10/25/2020 |