Mosca JS не может опубликовать сообщение с сервера

Я пытаюсь добавить сервер 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()
})

-- Обновить --
Если я удаляю клиента в вызове публикации, сообщение достигает веб-страницы, но это не то, что я пытаюсь сделать.

1 ответ

Публикация сообщения после события подписки сделала свое дело

mqttServ.on('subscribed', (topic, client) => {
  mqttServ.publish(message, client)
})
Другие вопросы по тегам