ProtoTest.Devices.Mqtt
1.1.6
dotnet add package ProtoTest.Devices.Mqtt --version 1.1.6
NuGet\Install-Package ProtoTest.Devices.Mqtt -Version 1.1.6
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="ProtoTest.Devices.Mqtt" Version="1.1.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ProtoTest.Devices.Mqtt" Version="1.1.6" />
<PackageReference Include="ProtoTest.Devices.Mqtt" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ProtoTest.Devices.Mqtt --version 1.1.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ProtoTest.Devices.Mqtt, 1.1.6"
#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.
#:package ProtoTest.Devices.Mqtt@1.1.6
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ProtoTest.Devices.Mqtt&version=1.1.6
#tool nuget:?package=ProtoTest.Devices.Mqtt&version=1.1.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ProtoTest.Devices.Mqtt
Preview: the surface can change before 1.2.
MQTT transport for ProtoTest.Devices: talk to devices over publish/subscribe against a real broker:
Mosquitto in CI, the broker behind the lab.
dotnet add package ProtoTest.Devices.Mqtt
dotnet add package ProtoTest.Devices.Mqtt.Testcontainers # a Mosquitto broker owned by the run
Includes
AddMqttClient("Sensors", "sensors/{deviceId}/out", "sensors/{deviceId}/in")insideAddDevices: the device publishes to one topic and receives what its subscribe filter matches, wildcards included. The topics ride the endpoint settings; a client registered directly withAddClientcan name them in the address query instead, and a setting wins over the address parameter.- The broker address comes from the registration, from
ProtoTest:Devices:Mqtt:Broker, or from aMosquittoBrokercontainer registered as aUseContainer(...)provider that fills the key for the run. - Text and binary frames stay themselves: the frame's media type rides the MQTT 5 content type, and a text payload arrives as text.
- Connect timeout, keep-alive and maximum packet size as code defaults via the callback, overridden by
ProtoTest:Devices:Mqtt.
Limits
- MQTT 5 over plain TCP. The transport speaks
mqtt://; an MQTT 3.1.1-only broker andmqtts://are not covered. - One broker connection per device instance. The test's end disconnects it; an explicit
DisconnectAsyncreleases it and the next send reconnects. One reader at a time: a second concurrent receive fails fast. - Topics are fixed at registration.
{deviceId}is the only placeholder; a client carries one publish topic and one subscribe filter. The filter may use the+and#wildcards, the publish topic may not. - Transport options are one set per run. Connect timeout, keep-alive, the packet cap and a broker
set through
configureare shared by every MQTT client; a client that needs its own broker passes a resolver, because a configured or container broker wins over the registration'saddress:. - A missing broker fails the device, naming the key. Without an address, a resolver or
ProtoTest:Devices:Mqtt:Broker, creating the device fails instead of skipping. A device capability cannot see a broker that configuration supplies later. - The transport moves frames only. Message kinds, commands and coverage are the suite's protocol
code (a catalog implements
IProtoDeviceProtocol).
Learn more
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- MQTTnet (>= 5.2.0.1603)
- ProtoTest.Devices (>= 1.1.6)
-
net8.0
- MQTTnet (>= 5.2.0.1603)
- ProtoTest.Devices (>= 1.1.6)
-
net9.0
- MQTTnet (>= 5.2.0.1603)
- ProtoTest.Devices (>= 1.1.6)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.