vue使用stompjs实现mqtt消息推送通知

发布时间 - 2026-01-11 01:59:56    点击率:

最近在研究vue+webAPI进行前后端分离,在一些如前端定时循环请求后台接口判断状态等应用场景用使用mqtt进行主动的消息推送能够很大程度的减小服务端接口的压力,提高系统的效率,而且可以利用mqtt消息通知建立一个独立于业务服务系统的消息通知服务,这个服务还可以与开发的语言无关,客户端既可以是安卓也可以是ios,也可以是java或者c#,python等。闲话不多扯,这里只是实现了在vue中使用mqtt的js客户端,后台用.net WEB API用的是c#的mqtt客户端

第一步:安装依赖

npm install stompjs

运行npm run dev可能会报错,提示安装net,执行命令

npm install --save net

第二部:组件中应用stompjs

组件中的js部分

<script>
import Stomp from 'stompjs'
---在sysconstant.js配置文件中配置mqtt的服务端地址,账号等信息
import { MQTT_SERVICE, MQTT_USERNAME, MQTT_PASSWORD } from '../../config/sysconstant.js'
export default {
 name: 'entry',
 data () {
  return {
   client: Stomp.client(MQTT_SERVICE)
  }
 },
 created () {
  this.connect()
 },
 methods: {
  onConnected: function (frame) {
   console.log('Connected: ' + frame)
   var topic = '/topic/AllCustomer' 
---订阅频道
   this.client.subscribe(topic, this.responseCallback, this.onFailed) 
  },
  onFailed: function (frame) {
   console.log('Failed: ' + frame)
  },
  responseCallback: function (frame) {
   console.log('responseCallback msg=>' + frame.body)
   ---接收消息
  },
  connect: function () {
   ---初始化mqtt客户端,并连接mqtt服务
   var clientid = util.uuid()
   var headers = {
    'login': MQTT_USERNAME,
    'passcode': MQTT_PASSWORD,
    'client-id': clientid
    // additional header
   }
   this.client.connect(headers, this.onConnected, this.onFailed)
  }
 }
}
</script>

配置文件sysconstant.js

/**
 * 配置文件,记录系统中固定的参数
 */
export const MQTT_SERVICE = 'ws://127.0.0.1:61623/stomp' // mqtt服务地址
export const MQTT_USERNAME = 'admin' // mqtt连接用户名
export const MQTT_PASSWORD = 'password' // mqtt连接密码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # stompjs  # mqtt  # 消息推送  # websocket实现Vue 3和Node.js之间的实时消息推送  # 基于Vue3和SpringBoot实现Web实时消息推送功能  # Vue3结合SpringBoot打造一个高效Web实时消息推送系统  # 利用Vue3 + SpringBoot打造高效Web实时消息推送系统  # 客户端  # 配置文件  # 服务端  # 的是  # 还可以  # 不多  # 第二部  # 报错  # 既可  # 建立一个  # 可以利用  # 大家多多  # 后端  # 实现了  # brush  # dev  # run  # install  # npm 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 装修招标网站设计制作流程,装修招标流程?  想要更高端的建设网站,这些原则一定要坚持!  免费视频制作网站,更新又快又好的免费电影网站?  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel如何使用withoutEvents方法临时禁用模型事件  在线教育网站制作平台,山西立德教育官网?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  魔方云NAT建站如何实现端口转发?  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Laravel如何实现数据库事务?(DB Facade示例)  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  重庆市网站制作公司,重庆招聘网站哪个好?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  如何快速生成ASP一键建站模板并优化安全性?  如何用搬瓦工VPS快速搭建个人网站?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在Windows环境下新建FTP站点并设置权限?  简历在线制作网站免费版,如何创建个人简历?  如何快速搭建自助建站会员专属系统?  如何打造高效商业网站?建站目的决定转化率  香港服务器网站推广:SEO优化与外贸独立站搭建策略  Bootstrap CSS布局之列表  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  使用Dockerfile构建java web环境  三星、SK海力士获美批准:可向中国出口芯片制造设备  MySQL查询结果复制到新表的方法(更新、插入)  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  如何快速搭建FTP站点实现文件共享?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南  大同网页,大同瑞慈医院官网?  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  独立制作一个网站多少钱,建立网站需要花多少钱?  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】  百度浏览器如何管理插件 百度浏览器插件管理方法  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  如何在宝塔面板创建新站点?  Laravel Eloquent:优雅地将关联模型字段扁平化到主模型中  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权