0

我正在尝试将 Mosca MQTT 服务器添加到我现有的 Express 应用程序中。
我只想向刚刚连接的客户端发送一条欢迎消息,但它不起作用。

const mqttServ = new mosca.Server({})
mqttServ.attachHttpServer(server)

var message = {
  topic: 'helloworld',
  payload: 'abcde', // or a Buffer
  qos: 0, // 0, 1, or 2
  retain: false // or true
}

mqttServ.on('clientConnected', (client) => {
  mqttServ.publish(message, client, () => {
    console.log('message sent')
  })
})

在网页上,我已将客户端订阅到“/hello/world”主题,但我什么也没得到。

var client = mqtt.connect()

client.subscribe('helloworld')

client.on('message', (topic, payload) => {
  console.log([topic, payload].join(": "))
  client.end()
})

-- 更新 --
如果我在发布调用中删除客户端,消息会到达网页,但这不是我想要做的。

4

1 回答 1

0

在订阅事件之后发布消息成功了

mqttServ.on('subscribed', (topic, client) => {
  mqttServ.publish(message, client)
})
于 2016-05-21T19:46:19.647 回答