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 相关文章推荐
JavaScript中Function详解
Feb 27 Javascript
js中获取 table节点各tr及td的内容简单实例
Oct 14 Javascript
Bootstrap的class样式小结
Dec 01 Javascript
ES6中Generator与异步操作实例分析
Mar 31 Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
Aug 16 Javascript
Vue写一个简单的倒计时按钮功能
Apr 20 Javascript
node基于puppeteer模拟登录抓取页面的实现
May 09 Javascript
浅谈Vue初学之props的驼峰命名
Jul 19 Javascript
原生JS实现动态加载js文件并在加载成功后执行回调函数的方法
Dec 30 Javascript
如何使用puppet替换文件中的string
Dec 06 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
layer弹窗在键盘按回车将反复刷新的实现方法
Sep 25 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
《星际争霸2》终章已出 RTS时代宣告终结
2017/02/07 星际争霸
PHP 远程关机实现代码
2009/11/10 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
PHP实现生成带背景的图形验证码功能
2016/10/03 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
一个简单的Node.js异步操作管理器分享
2014/04/29 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
JavaScript之AOP编程实例
2015/07/17 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
2015/10/19 Javascript
jQuery实现仿QQ空间装扮预览图片的鼠标提示效果代码
2015/10/30 Javascript
jQuery绑定事件-多种实现方式总结
2016/05/09 Javascript
canvas绘制一个常用的emoji表情
2017/03/30 Javascript
Vue+axios 实现http拦截及路由拦截实例
2017/04/25 Javascript
详解nodeJS之路径PATH模块
2017/05/31 NodeJs
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
[00:37]2016完美“圣”典风云人物:AMS宣传片
2016/12/06 DOTA
python 与GO中操作slice,list的方式实例代码
2017/03/20 Python
Python代码实现KNN算法
2017/12/20 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
2018/11/06 Python
Python单链表原理与实现方法详解
2020/02/22 Python
计算Python Numpy向量之间的欧氏距离实例
2020/05/22 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
HTML5 本地存储之如果没有数据库究竟会怎样
2013/04/25 HTML / CSS
外贸销售员求职的自我评价
2013/11/23 职场文书
企业宣传策划方案
2014/05/29 职场文书
学习十八大演讲稿
2014/09/15 职场文书
放弃继承权公证书
2015/01/23 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
教师教育教学随笔
2015/08/15 职场文书
创业计划书之都市休闲农庄
2019/12/28 职场文书
HTML中的表单元素介绍
2022/02/28 HTML / CSS