iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >vue中如何使用mqtt服务端实现即时通讯
  • 270
分享到

vue中如何使用mqtt服务端实现即时通讯

2023-06-20 13:06:19 270人浏览 安东尼
摘要

小编给大家分享一下Vue中如何使用MQtt服务端实现即时通讯,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MQtT协议MQTT(Message Queuing T

小编给大家分享一下Vue中如何使用MQtt服务端实现即时通讯,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

MQtT协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议。

MQTT是轻量级基于代理的发布/订阅的消息传输协议,它可以通过很少的代码和带宽和远程设备连接。例如通过卫星和代理连接,通过拨号和医疗保健提供者连接,以及在一些自动化或小型设备上,而且由于小巧,省电,协议开销小和能高效的向一和多个接收者传递信息,故同样适用于称动应用设备上。

vue利用mqtt服务端实现即时通讯

在大部分项目中,前后端交互只是前端请求后端的接口,拿到数据后再处理,前段时间我手上的一个项目需要用到mqtt,使用后觉得真神奇,只需要订阅就能实时获取到数据,废话不多说,妹妹给你们上步骤!

在vue项目中安装mqtt.js

npm install mqtt --save

在项目的main.js或者在需要用到的vue页面上引用

import mqtt from 'mqtt'

在vue页面的data中定义一个client对象,方便后面使用

client: {}

ok,接下来就是重点了,首先我们得连接mqtt,连接mqtt的方法有个回调函数,我接下来就把订阅的方法写在连接成功后的回调里,这样能保证不出错,上代码!

连接mqtt并订阅

  //连接服务器    connect() {      let options = {        username: "xxx",        passWord: "xxxx",        cleanSession : false,        keepAlive:60,        clientId: 'mqttjs_' + Math.random().toString(16).substr(2, 8),        connectTimeout: 4000      }      this.client = mqtt.connect('ws://192.168.xxx.xx:8083/mqtt',options);      this.client.on("connect", (e)=>{        console.log("成功连接服务器:",e);        //订阅三个名叫'top/#', 'three/#'和'#'的主题        this.client.subscribe(['top/#', 'three/#', '#'], { qos: 1 }, (err)=> {          if (!err) {            console.log("订阅成功");            //向主题叫“pubtop”发布一则内容为'hello,this is a nice day!'的消息            this.publish("pubtop", 'hello,this is a nice day!')          } else {            console.log('消息订阅失败!')          }        });      });      //重新连接      this.reconnect()      //是否已经断开连接      this.mqttError()      //监听获取信息      this.getMessage()    }

发布消息方法

//发布消息@topic主题  @message发布内容    publish(topic,message) {      if (!this.client.connected) {        console.log('客户端未连接')        return      }      this.client.publish(topic,message,{qos: 1},(err) => {        if(!err) {          console.log('主题为'+topic+ "发布成功")        }      })    }

监听并接收上面订阅的三个主题的信息

//监听接收消息    getMessage() {      this.client.on("message", (topic, message) => {        if(message) {          console.log('收到来着',topic,'的信息',message.toString())          const res = JSON.parse(message.toString())          //console.log(res, 'res')          switch(topic) {             case 'top/#' :               this.msg = res               break;             case 'three/#' :               this.msg = res               break;             case 'three/#' :               this.msg = res               break;             default:               return               this.msg = res           }           this.msg = message        }      });    },

监听服务器是否连接失败

//监听服务器是否连接失败    mqttError() {      this.client.on('error',(error) => {        console.log('连接失败:',error)        this.client.end()      })    },

取消订阅

//取消订阅    unsubscribe() {      this.client.unsubscribe(this.mtopic, (error)=> {        console.log('主题为'+ this.mtopic+'取消订阅成功',error)      })    },

断开连接

//断开连接    unconnect() {      this.client.end()      this.client = null      console.log('服务器已断开连接!')    },

监听服务器重新连接

//监听服务器重新连接    reconnect() {      this.client.on('reconnect', (error) => {          console.log('正在重连:', error)      });    },

以上是“vue中如何使用mqtt服务端实现即时通讯”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: vue中如何使用mqtt服务端实现即时通讯

本文链接: https://www.lsjlt.com/news/296791.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue中如何使用mqtt服务端实现即时通讯
    小编给大家分享一下vue中如何使用mqtt服务端实现即时通讯,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!MQTT协议MQTT(Message Queuing T...
    99+
    2023-06-20
  • vue中如何利用mqtt服务端实现即时通讯
    今天小编给大家分享一下vue中如何利用mqtt服务端实现即时通讯的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我...
    99+
    2022-10-19
  • vue下怎么使用mqtt服务端实现即时通讯
    这篇文章主要介绍“vue下怎么使用mqtt服务端实现即时通讯”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue下怎么使用mqtt服务端实现即时通讯”文章能帮助大家解决问题。MQTT协议MQTT(M...
    99+
    2023-07-04
  • vue中利用mqtt服务端实现即时通讯的步骤记录
    MQTT协议 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该...
    99+
    2022-11-12
  • C#如何实现MQTT服务端与客户端通讯功能
    这期内容当中小编将会给大家带来有关C#如何实现MQTT服务端与客户端通讯功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。关于MQTTMQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 2...
    99+
    2023-06-29
  • 在Node.js下如何运用MQTT协议实现即时通讯及离线推送
    小编给大家分享一下在Node.js下如何运用MQTT协议实现即时通讯及离线推送,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码...
    99+
    2022-10-19
  • 如何在PHP中实现即时通讯功能
    随着社交媒体和移动互联网的迅速发展,即时通讯(IM)已经成为人们生活中不可或缺的一部分。开发者们也开始向自己的网站或应用程序中添加IM功能,以提供更好的用户体验和互动性。PHP作为一种流行的服务器端编程语言,学会如何在其中实现IM功能可以为...
    99+
    2023-05-21
    PHP 实现 即时通讯
  • Vue怎么使用Echarts实现横向柱状图并通过WebSocket即时通讯更新
    这篇文章主要介绍“Vue怎么使用Echarts实现横向柱状图并通过WebSocket即时通讯更新”,在日常操作中,相信很多人在Vue怎么使用Echarts实现横向柱状图并通过WebSocket即时通讯更新问题上存在疑惑,小编查阅了各式资料,...
    99+
    2023-07-05
  • 如何利用微信小程序和php实现即时通讯聊天功能
    目录一、PHP7安装Swoole扩展1、自定义安装2、宝塔面板安装PHP swoole扩展二、配置nginx反向代理三、微信小程序socket合法域名配置四、效果演示和代码1、小程序...
    99+
    2022-11-13
  • 如何使用Vue实现组件化通讯
    这篇文章主要介绍了如何使用Vue实现组件化通讯的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Vue实现组件化通讯文章都会有所收获,下面我们一起来看看吧。1. Vue的组成文件(.vue)分为三部分,分别...
    99+
    2023-07-04
  • node.js中如何使用socket.io实现一个实时通讯应用
    今天小编给大家分享一下node.js中如何使用socket.io实现一个实时通讯应用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
    99+
    2023-06-17
  • C#中如何实现服务端与客户端通信
    这篇文章将为大家详细讲解有关C#中如何实现服务端与客户端通信,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。C#服务端与客户端通信实现实例:class Server {&n...
    99+
    2023-06-17
  • vue中如何实现SSR服务端渲染
    本篇内容主要讲解“vue中如何实现SSR服务端渲染”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue中如何实现SSR服务端渲染”吧!一、SSR是什么Server-Side Rendering ...
    99+
    2023-06-29
  • Vue项目中如何实现服务器端渲染
    本篇内容介绍了“Vue项目中如何实现服务器端渲染”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!vue-ssr在项目中的实践写在文前由于前端脚...
    99+
    2023-06-04
  • nodejs中如何实现socket服务端和客户端简单通信功能
    小编给大家分享一下nodejs中如何实现socket服务端和客户端简单通信功能,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!本文实例讲述了通过node.js的net模块实现nodejs s...
    99+
    2022-10-19
  • 如何在Golang中使用gRPC实现基础的服务端和客户端
    gRPC是一种高性能、开源和通用的远程过程调用框架,适用于跨语言和平台的RPC调用。它利用Google开发的protobuf协议进行数据传输,可以快速实现服务端和客户端的通信,并且提供了丰富的功能和扩展性。本文将介绍如何在Golang中使用...
    99+
    2023-05-14
  • 如何使用React Router4实现服务端渲染ssr
    这篇文章将为大家详细讲解有关如何使用React Router4实现服务端渲染ssr,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我们已经熟悉React 服务端渲染(SSR...
    99+
    2022-10-19
  • 如何使用Django(python)实现android的服务器端
    目录Django(python)简单实现android的服务器端1. 所需工具2. 服务器端的实现3. 客户端的实现4.测试Django(python)简单实现android的服务器...
    99+
    2022-11-11
  • 如何使用java实现客户端与服务器
    小编给大家分享一下如何使用java实现客户端与服务器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java可以用来干什么Java主要应用于:1. web开发;2....
    99+
    2023-06-14
  • 如何使用Go实现TLS服务器和客户端
    本篇内容介绍了“如何使用Go实现TLS服务器和客户端”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!传输层安全协议(Transport Lay...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作