问题描述
我真的是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://'