由于ws在浏览器中不起作用,Vue mqtt引发错误

问题描述

我真的是vue的新手,对于这个项目,我试图将我的代码与MQTT HOST URL ws://21.17.0.1:9009/连接起来。当我使用与XAMP LOCALHOST相同的代码并在本地笔记本电脑上运行时,它工作正常,没有任何错误。当我将代码推送到公司服务器上并尝试运行相同的代码时,它将抛出ws does not work in the browser. browser clients must use the native WebSocket object错误。是因为我在mqtt.connect中定义了WS网址吗?

脚本

runMqtt() {
  var mqtt = require('mqtt');
  var client  = mqtt.connect('ws://21.17.0.1:9009/');
}

client.on('connect',function () {
  client.subscribe('route_status',function (err) {
     if (!err) {
       client.publish('presence','Hello mqtt')
      }
    })
  })

 var message = {command: "tap",route_status: "TRUE"};
 var obj = JSON.stringify(message);
 client.publish('server_commands',obj,{qos: 1});

解决方法

不确定mqtt.js代码是否在浏览器中支持WebSockets(如错误消息所述。)您可能想尝试一下Steve的教程:http://www.steves-internet-guide.com/using-javascript-mqtt-client-websockets/ ...,它使用不同的库来从浏览器。或者...只需尝试其他方法,例如'mqtt://'或'tcp://'