Aedes WebSocket
Same as Aedes Basic but TCP is disabled and the broker listens on ws://localhost:8888/mqtt. Useful for browser-based MQTT clients (mqtt.js over WebSocket).
bash
bun run --cwd examples/aedes-ws devSource
ts
import { aedes } from '@mqttkit/aedes'
import { MqttApp, router } from '@mqttkit/core'
const app = new MqttApp()
.use(
aedes({
tcp: false,
ws: { port: 8888, path: '/mqtt' },
}),
)
.use(
router()
.topic('browser/:clientId/ping', {
async onMessage(ctx) {
await ctx.publish(`browser/${ctx.params.clientId}/pong`, ctx.payload, { qos: 0 })
},
})
.topic('browser/:clientId/pong'),
)
await app.listen()
console.log('mqttkit Aedes WS example listening on ws://localhost:8888/mqtt')