Невозможно подключить форму javascript к брокеру через tcp, используя mqtt.js - PullRequest
0 голосов
/ 09 июня 2019

Я хотел бы связать MQTT-брокера с Javascript, чтобы подписаться на тему и публиковать сообщения. Соединение должно быть сделано через tcp через порт 1883. Я использую библиотеку MQTT.js. Передняя часть находится в angularjs. Далее приведен пример на странице MQTT.js, хотя соединение не может быть установлено. Может ли кто-нибудь помочь, пожалуйста?

Соединение через index.html:

<script src="../node_modules/mqtt/browserMqtt.js"></script>

Код для подключения:

var client = mqtt.connect('url.com:1883',{clientId :'client1', clean: true});
client.on('connect', function () {
  console.log("onsubscribe");
  client.subscribe('votingSignals', function (err) {
    if (!err) {
      console.log("onsubscribe");
      client.publish('votingSignals', 'start')
    }
 })
})

client.on('message', function (topic, message) {
  // message is Buffer
  console.log(message.toString())
  client.end()
})

Отображаемая ошибка:

Сбой подключения WebSocket к 'ws: //url.com: 1883 /': ошибка при рукопожатии WebSocket: net :: ERR_CONNECTION_RESET

1 Ответ

0 голосов
/ 09 июня 2019

Из веб-браузера вы можете использовать ТОЛЬКО MQTT через веб-сокеты, а не собственный MQTT (через TCP).

Это связано с тем, что браузер не позволяет открывать обычный сокет.

...