vue3中mqtt的使用

  • vite@^4.5.0
  • vue@^3.3.6
  • mqtt@^4.3.7
import * as mqtt from 'mqtt/dist/mqtt.min';


let client = null;

export const MQTTSWebSocket = () => {
  const connectUrl = `ws://192.168.1.56:8083/mqtt`; //线上
  const storeMqtt = useMqttStore();

  client = mqtt.connect(connectUrl, {
    clean: true,
    connectTimeout: 8000, // 超时时间
    reconnectPeriod: 1000, // 重连时间间隔
    username: 'admin', //用户名
    password: 'public', //密码
  });

  // 需要订阅的主题
  const topic = 'RCT/State/#';

  //成功连接后触发的回调
  client.on('connect', () => {
    console.info('订阅成功');

    client.subscribe(topic);

    // 当客户端收到一个发布过来的消息时触发回调
    client.on('message', function (topic, message) {
      // 这里有可能拿到的数据格式是Uint8Array格式,所以可以直接用toString转成字符串

      let data = JSON.parse(message.toString());
      console.info('返回的数据:', message, data);
    });
  });

  // 连接断开后触发的回调
  client.on('close', function () {
    console.info('已断开连接');
  });
  // 断开发起重连
  client.on('reconnect', (error) => {
    console.info('正在重连:', error);
  });
  // 链接异常处理
  client.on('error', (error) => {
    console.info('连接失败:', error);
  });
};

// 断开连接
export const mqttDisconnect = () => {
  if (client) {
    client.end(() => {
      console.info('手动断开连接');
    });
  }
};

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue使用MQTT,你可以使用MQTT.js库来实现。以下是一些基本步骤: 1. 安装MQTT.js库:在你的Vue项目使用npm或yarn安装mqtt库: ``` npm install mqtt ``` 或 ``` yarn add mqtt ``` 2. 导入MQTT库:在你的Vue组件,导入mqtt库: ```javascript import mqtt from 'mqtt'; ``` 3. 创建MQTT客户端:在Vue组件,创建一个MQTT客户端实例,并连接到MQTT代理: ```javascript const client = mqtt.connect('mqtt://mqtt.example.com'); // 替换为你的MQTT代理地址 ``` 4. 监听MQTT连接状态:可以监听MQTT客户端的连接状态,以便在连接成功或失败时进行处理: ```javascript client.on('connect', function () { console.log('Connected to MQTT broker'); }); client.on('error', function (error) { console.error('MQTT connection error:', error); }); ``` 5. 订阅和接收消息:可以订阅一个或多个主题,并在接收到消息时进行处理: ```javascript client.subscribe('topic1'); client.on('message', function (topic, message) { console.log('Received message:', message.toString()); }); ``` 6. 发布消息:可以使用`client.publish()`方法发布消息到指定的主题: ```javascript client.publish('topic1', 'Hello MQTT'); ``` 这些是基本的使用步骤,你可以根据需要进行扩展和自定义。记得在不需要时断开MQTT连接: ```javascript client.end(); ``` 请注意,这只是一个简单的示例,实际使用时可能需要处理更多的逻辑和错误处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值