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


Posted in Javascript onJune 22, 2017

最近在研究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连接密码

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

Javascript 相关文章推荐
JQuery通过Ajax提交表单并返回结果
Jul 31 Javascript
Bootstrap每天必学之导航
Nov 26 Javascript
JavaScript几种数组去掉重复值的方法推荐
Apr 12 Javascript
jQuery ajaxForm()的应用
Oct 14 Javascript
jQuery纵向导航菜单效果实现方法
Dec 19 Javascript
Vue.js学习示例分享
Feb 05 Javascript
干货!教大家如何选择Vue和React
Mar 13 Javascript
zTree实现节点修改的实时刷新功能
Mar 20 Javascript
ES6中module模块化开发实例浅析
Apr 06 Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 Javascript
vue.js实现点击后动态添加class及删除同级class的实现代码
Apr 04 Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
Jun 22 #Javascript
详解用webpack2搭建angular2的项目
Jun 22 #Javascript
vue2.0实现分页组件的实例代码
Jun 22 #Javascript
纯JS实现只能输入数字的简单代码
Jun 21 #Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
Jun 21 #Javascript
Vue实现百度下拉提示搜索功能
Jun 21 #Javascript
vue2.0中click点击当前li实现动态切换class
Jun 21 #Javascript
You might like
ajax实现无刷新分页(php)
2010/07/18 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
php实现留言板功能
2017/03/05 PHP
phpMyAdmin通过密码漏洞留后门文件
2018/11/20 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
javascript 树控件 比较好用
2009/06/11 Javascript
JavaScript CSS修改学习第三章 修改样式表
2010/02/19 Javascript
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
javascript 星级评分效果(手写)
2012/12/24 Javascript
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
js利用appendChild对标签进行排序的实现方法
2016/10/16 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
vuejs指令详解
2017/02/07 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
bootstrap-table后端分页功能完整实例
2020/06/01 Javascript
react+antd 递归实现树状目录操作
2020/11/02 Javascript
Python易忽视知识点小结
2015/05/25 Python
Python+selenium点击网页上指定坐标的实例
2019/07/05 Python
springboot配置文件抽离 git管理统 配置中心详解
2019/09/02 Python
深入浅析Python科学计算库Scipy及安装步骤
2019/10/12 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
2021/03/03 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
实体的生命周期
2013/08/31 面试题
医药类个人求职的自我评价
2014/02/12 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
个人学习群众路线心得体会
2014/11/05 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
windows server 2012安装FTP并配置被动模式指定开放端口
2022/06/10 Servers
Android移动应用开发指南之六种布局详解
2022/09/23 Java/Android