MQTT网页客户端连接MQTT服务器的问题WebSocket connection to ‘ws://XXX:1883/’ failed: Connection closed before receiving a handshake response
改为使用WebSocket_URL连接
<template>
<div>4</div>
</template>
<script>
import mqtt from "mqtt";
// <script src="https://unpkg.com/mqtt/dist/mqtt.min.js">
// const mqtt = require("mqtt");
// WebSocket 连接字符串
const WebSocket_URL = "ws://127.0.0.1:8083/mqtt";
// TCP/TLS 连接字符串,仅限 Node.js 环境
const TCP_URL = "mqtt://127.0.0.1:1883";
const TCP_TLS_URL = "mqtts://127.0.0.1:8883";
// 连接选项
const options = {
// 超时时间
connectTimeout: 4000,
// 认证信息
clientId: "test1",
username: "客户端1",
// password: 'emqx',
// 心跳时间
keepalive: 60,
clean: true
};
const client = mqtt.connect(WebSocket_URL, options);
// 连接成功后初始化订阅
client.on("connect", () => {
console.log("Connected to", WebSocket_URL);
// 订阅主题
client.subscribe("gczd/+/data", err => {
console.log(err || "订阅成功");
});
});
// 为 message 时间添加处理函数
client.on("message", (topic, message) => {
console.log("收到来自", topic, "的消息:", message.toString());
});
export default {
name: "App"
};
</script>