无法使用 mqtt.js 通过 tcp 将 javascript 表单连接到代理



我想用Javascript连接MQTT代理,以便下标到一个主题并发布消息。连接需要通过端口 1883 上的 tcp 完成。我正在使用 MQTT.js 库。前端是 angularjs 的。下面的示例是 MQTT.js 页面中的示例,尽管无法实现连接。有人可以帮忙吗?

通过索引.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

在Web浏览器中,您只能通过Websockets使用MQTT,而不能使用本机MQTT(通过TCP(。

这是因为浏览器不会让您打开普通套接字。

相关内容

  • 没有找到相关文章

最新更新