Pulse.Mqtt.Transport.WebSocket
2.29.0
dotnet add package Pulse.Mqtt.Transport.WebSocket --version 2.29.0
NuGet\Install-Package Pulse.Mqtt.Transport.WebSocket -Version 2.29.0
<PackageReference Include="Pulse.Mqtt.Transport.WebSocket" Version="2.29.0" />
<PackageVersion Include="Pulse.Mqtt.Transport.WebSocket" Version="2.29.0" />
<PackageReference Include="Pulse.Mqtt.Transport.WebSocket" />
paket add Pulse.Mqtt.Transport.WebSocket --version 2.29.0
#r "nuget: Pulse.Mqtt.Transport.WebSocket, 2.29.0"
#:package Pulse.Mqtt.Transport.WebSocket@2.29.0
#addin nuget:?package=Pulse.Mqtt.Transport.WebSocket&version=2.29.0
#tool nuget:?package=Pulse.Mqtt.Transport.WebSocket&version=2.29.0
Pulse.Mqtt.Transport.WebSocket
MQTT over WebSocket transport for Pulse MQTT clients. Use it when the broker is exposed through ws or wss, often behind a gateway, reverse proxy, or managed endpoint.
Install
dotnet add package Pulse.Mqtt.Transport.WebSocket
Configure with dependency injection
builder.Services
.AddPulseMqttClient("telemetry", configure)
.UseTransportFactory(_ => new WebSocketTransportFactory(
new WebSocketTransportOptions
{
Uri = new Uri("wss://broker.example.com/mqtt"),
}));
The MQTT subprotocol defaults to mqtt.
Configure directly
var transportFactory = new WebSocketTransportFactory(
new WebSocketTransportOptions
{
Uri = new Uri("wss://broker.example.com/mqtt"),
Headers = new Dictionary<string, string>
{
["Authorization"] = $"Bearer {token}",
},
});
await using var client = new ResilientMqttClient(
transportFactory,
new ResilientMqttClientOptions
{
Connect = new MqttConnectPacket { ClientId = "telemetry-worker" },
});
Each reconnect attempt gets a fresh WebSocket. MQTT packets are sent as binary frames.
Full docs: https://araxis.github.io/pulse-mqtt/packages/transport-websocket
| 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 was computed. 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. |
-
net10.0
- Pulse.Mqtt.Core (>= 2.29.0)
-
net8.0
- Pulse.Mqtt.Core (>= 2.29.0)
- System.IO.Pipelines (>= 9.0.17)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Pulse.Mqtt.Transport.WebSocket:
| Package | Downloads |
|---|---|
|
FluxFlow.Components.Mqtt.PulseMqtt
Concrete MQTT transport adapter for FluxFlow. Maps resolved client configuration, exact message bytes, subscriptions, and broker acknowledgements while the provider-neutral MQTT core owns client policy and workflow behavior. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.29.0 | 152 | 7/9/2026 |
| 2.29.0-preview.219 | 61 | 7/9/2026 |
| 2.29.0-preview.218 | 67 | 7/9/2026 |
| 2.29.0-preview.217 | 60 | 7/6/2026 |
| 2.28.0 | 108 | 7/6/2026 |
| 2.28.0-preview.215 | 60 | 7/6/2026 |
| 2.28.0-preview.214 | 54 | 7/6/2026 |
| 2.28.0-preview.213 | 64 | 7/6/2026 |
| 2.28.0-preview.212 | 69 | 7/6/2026 |
| 2.28.0-preview.211 | 62 | 7/4/2026 |
| 2.28.0-preview.210 | 73 | 7/4/2026 |
| 2.28.0-preview.209 | 64 | 7/4/2026 |
| 2.28.0-preview.208 | 63 | 7/4/2026 |
| 2.27.0 | 106 | 7/4/2026 |
| 2.27.0-preview.206 | 56 | 7/4/2026 |
| 2.27.0-preview.205 | 65 | 7/4/2026 |
| 2.27.0-preview.204 | 74 | 7/3/2026 |
| 2.27.0-preview.203 | 62 | 7/3/2026 |
| 2.27.0-preview.202 | 63 | 7/3/2026 |
| 2.27.0-preview.201 | 64 | 7/3/2026 |