Skip to content

Aedes WebSocket

跟 Aedes 基础结构一致,但关掉 TCP,broker 监听在 ws://localhost:8888/mqtt。适合浏览器端 MQTT 客户端(mqtt.js over WebSocket)。

bash
bun run --cwd examples/aedes-ws dev

源码

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')

在 GitHub 查看

基于 MIT 协议发布