Я пытаюсь очень сильно заставить мой клиент MQTT работать внутри моего приложения. Брокер предоставляется CloudMQTT.MQTT JavaScript-клиент не подключается (неверный протокол?)
При попытке выполнить следующий код в NodeJS клиент правильно подключается к MQTT;
var mqtt = require('mqtt');
var client = mqtt.connect(
"mqtt://m20.cloudmqtt.com",
{
port: 11212,
username: "XXXXXXXX",
password: "XXXXXXXX"
}
);
client.on('connect', function() {
console.log('connected');
});
Однако, когда я запускаю тот же код (без требуют, конечно) в интерфейсе с помощью the Bower package, клиент не подключается. Я также пробовал использовать другие пакеты JS с поддержкой MQTT. Я предпочитаю MQTT.js, а не Paho, потому что я хотел бы использовать несколько подписчиков с одним подключенным клиентом.
Если console.log(client);
, NodeJS использует protocol: 'mqtt'
и protocolId: 'MQTT'
. Интерфейс использует protocol: 'ws'
и protocolId: 'MQTT'
. Это может быть проблема? Добавление этих параметров в mqtt.connect не влияет.
Я не уверен, что вы имеете в виду, что несколько подписчиков подписались с клиентом PAHO. Вы можете подписаться на несколько тем с клиентом PAHO. – hardillb