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