/ / Klient MQTT JavaScript nie łączy się (niewłaściwy protokół?) - javascript, node.js, bower, mqtt

Klient JavaScript MQTT nie łączy się (niewłaściwy protokół?) - javascript, node.js, bower, mqtt

Bardzo się staram, aby mój klient MQTT działał w mojej aplikacji. Broker jest udostępniany przez CloudMQTT.

Podczas próby uruchomienia następującego kodu w NodeJS klient łączy się prawidłowo z 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");
});

Jednak gdy uruchamiam ten sam kod (oczywiście bez potrzeby) w interfejsie użytkownika pakiet Bower, klient nie łączy się. Wypróbowałem także inne pakiety JS z przeglądarką MQTT. Preferuję MQTT.js, a nie Paho, ponieważ chciałbym używać wielu subskrypcji z jednym połączonym klientem.

Gdyby console.log(client);, Wykorzystuje NodeJS protocol: "mqtt" i protocolId: "MQTT". Frontend używa protocol: "ws" i protocolId: "MQTT". Czy to może być problem? Dodanie tych opcji do mqtt.connect nie działa.

Odpowiedzi:

1 dla odpowiedzi № 1

Z przeglądarki internetowej jedyną opcją jestbyć połączonym przez MQTT przez Websockets. CloudMQTT używa różnych numerów portów dla natywnych MQTT i MQTT w stosunku do gniazd sieciowych, więc musisz także zmienić numer portu dla kodu przeglądarki na port Websocket wymieniony w panelu kontrolnym CloudMQTT.