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的浮动DIV显示提示信息并自动隐藏
Feb 11 Javascript
文档对象模型DOM通俗讲解
Nov 01 Javascript
js动态添加删除,后台取数据(示例代码)
Nov 25 Javascript
使用javascript获取页面名称
Dec 23 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
Nov 30 Javascript
如何消除inline-block属性带来的标签间间隙
Mar 31 Javascript
Node.js使用Express创建Web项目详细教程
Mar 31 Javascript
解决js ajax同步请求造成浏览器假死的问题
Jan 18 Javascript
Angular2.0实现modal对话框的方法示例
Feb 18 Javascript
详解关于vue2.0工程发布上线操作步骤
Sep 27 Javascript
基于JavaScript实现控制下拉列表
May 08 Javascript
在vue-cli创建的项目中使用sass操作
Aug 10 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
PHP5中MVC结构学习
2006/10/09 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
简单实现限定phpmyadmin访问ip的方法
2013/03/05 PHP
初识PHP
2014/09/28 PHP
实现web打印的各种方法介绍及实现代码
2013/01/09 Javascript
JQuery结合CSS操作打印样式的方法
2013/12/24 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
webpack入门必知必会
2017/01/16 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
如何在Vue.JS中使用图标组件
2020/08/04 Javascript
深入了解Vue3模板编译原理
2020/11/19 Vue.js
python分割和拼接字符串
2013/11/01 Python
详解在Python程序中使用Cookie的教程
2015/04/30 Python
使用Python读写及压缩和解压缩文件的示例
2016/07/08 Python
Python利用Beautiful Soup模块修改内容方法示例
2017/03/27 Python
Python自定义线程类简单示例
2018/03/23 Python
python通过Windows下远程控制Linux系统
2018/06/20 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
Django 缓存配置Redis使用详解
2019/07/23 Python
使用virtualenv创建Python环境及PyQT5环境配置的方法
2019/09/10 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
电气自动化大学生求职信
2013/10/16 职场文书
机械专业毕业生自荐信
2013/11/02 职场文书
师德个人剖析材料
2014/02/02 职场文书
记帐员岗位责任制
2014/02/08 职场文书
《神奇的克隆》教学反思
2014/04/10 职场文书
协议书样本
2014/04/23 职场文书
珍惜资源保护环境的建议书
2014/05/14 职场文书
食品安全标语
2014/06/07 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
自愿离婚协议书范本
2014/09/13 职场文书
2014年招商引资工作总结
2014/11/22 职场文书