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实现用户授权

