Mqtt. js подписчик не получает опубликованное сообщение - PullRequest
0 голосов
/ 07 марта 2020

Брокер и издатель работают на одном компьютере, а подписчик работает на другом компьютере. Проблема: подписчик не получает опубликованное сообщение.

Код работает нормально, если брокер, издатель и подписчик работают на одном компьютере.

подписчик. js

var client = mqtt.connect('mqtt://192.168.10.6:1234');

192.168.10.6: 1234 - это IP-адрес компьютера, на котором работает брокер и издатель.

Брокер. js

const aedes = require('aedes')()
const server = require('net').createServer(aedes.handle)
const port = 1234

server.listen(port, function () {
  console.log('server started and listening on port ', port)
})

Издатель. js

const express= require('express')
const mqtt = require('mqtt');
const app = express();

var client = mqtt.connect('mqtt://127.0.0.1:1234');
topic = "greeting";
msg = "hello";


app.get('/', (req,res) => {

    client.publish(topic,msg);
    res.send("Mqtt just published a message")
})
app.listen(5000);

Подписчик. js

var mqtt = require('mqtt')
var client = mqtt.connect('mqtt://192.168.10.6:1234');
topic = "greetings"

client.on('connect', ()=> {
    client.subscribe(topic)
})

client.on('message', (topic, payload) => {
    payload= payload.toString();
    console.log(payload);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...