Stompjs websocket vue
公司项目要求要有消息提醒机制 , 多方面考虑用了ActiveMQ ,基本上现在主流的后台语言都没啥问题 , php phthon java nodejs , 等等都没问题 , 各位道友可以去查阅相关资料 , 我这里只粘贴出前端的代码
<template>
<div></div>
</template>
<script>
import Stomp from "stompjs";
function uuid() {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = ; i < ; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), );
}
s[] = ""; // bits 12-15 of the time_hi_and_version field to 0010
s[] = hexDigits.substr((s[] & 0x3) | 0x8, ); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[] = s[] = s[] = s[] = "-";
var uuid = s.join("");
return uuid;
}
export default {
data() {
return {
// client: Stomp.client("ws://192.168.1.103:61614/stomp")
client: null
};
},
methods: {
onConnected(frame) {
console.log("Connected: " + frame);
var topic = "/topic/charger.messageTopic";
this.client.subscribe(topic, this.responseCallback, this.onFailed);
},
onFailed(frame) {
console.log("Failed: " + frame);
},
responseCallback(frame) {
console.log("得到的消息 msg=>" + frame.body);
console.log(frame)
},
connect() {
this.client= Stomp.client("ws://192.168.1.103:61614/stomp")
var clientid = uuid();
var headers = {
"login": "admin",
"passcode": "admin",
"client-id": clientid,
// additional header
};
this.client.connect(headers, this.onConnected, this.onFailed);
}
},
mounted() {
this.connect()
}
};
</script>
请广大道友注意如果直接install stompjs (中间没点 , 别整错了)那么在vue里面会报错 , 因为还需要install 一下 net
var Stomp = require('./lib/stomp.js');
var StompNode = require('./lib/stomp-node.js');
module.exports = Stomp.Stomp;
module.exports.overTCP = StompNode.overTCP;
module.exports.overWS = StompNode.overWS;
index.js 里面引用到了这个stomp-node.js然儿这个node.js
Stomp = require('./stomp');
net = require('net');
Stomp.Stomp.setInterval = function(interval, f) {
return setInterval(f, interval);
};
用到了net ,
请注意箭头函数的使用 , if你直接使用function的话会有this的指向性问题 , client里面封装了很多原型函数 , 如果this指向调用错误的话这些函数都会找不到
Stompjs websocket vue的更多相关文章
- 基于websocket vue 聊天demo 解决方案
基于websocket vue 聊天demo 解决方案 demo 背景 电商后台管理的客服 相关技术 vuex axios vue websocket 聊天几种模型 一对一模型 一对一 消息只一个客户 ...
- websocket vue
/* eslint-disable */ let tt; let count = 1; let lockReconnect = false; function isJsonString(str) { ...
- stompjs, websocket和nginx的配置
server { listen 8080; location /socket/ { proxy_pass http://socket_server/; proxy_s ...
- d面试题汇总
HTML Doctype作用,HTML5 为什么只需要写<!DOCTYPE HTML>? html5有哪些新特性?移除了哪些元素? 简述一下你对HTML语义化的理解? 行内元素有哪些,块级 ...
- Springboot + Websocket + Sockjs + Stomp + Vue + Iview 实现java后端日志显示在前端web页面上
话不多说,看代码. 一.pom.xml 引入spring boot websocket依赖 <dependency> <groupId>org.springframework. ...
- vue使用SockJS实现webSocket通信
以前使用websocket都是使用 window.webSocket = new WebSocket('ws://' + config.webSocketUrl + '/webData/websock ...
- SpringBoot+vue整合websocket
0.引言 这里我先说下,网上对于websocket的解释有一堆不懂自己查,我这就不做原理解释,只上代码. 1.SpringBoot引入websocket maven 依赖 <dependency ...
- vue发送websocket请求和http post请求
直接上代码: pdf.vue <script> import SockJS from 'sockjs-client'; import Stomp from 'stompjs'; impor ...
- vue+websocket+express+mongodb实战项目(实时聊天)
继上一个项目用vuejs仿网易云音乐(实现听歌以及搜索功能)后,发现上一个项目单纯用vue的model管理十分混乱,然后我去看了看vuex,打算做一个项目练练手,又不想做一个重复的项目,这次我就放弃颜 ...
随机推荐
- chmod用数字来表示权限的方法
前提: mode权限设定字串.格式:[ugoa...][[+-=][rwxX]...][,...] 当中u表示拥有者(user).g表示与拥有者属于同一个群体(group),o表示其它以外的人(ot ...
- 全端project师必备技能汇总
首先,看一张前端知识结构图: (原文: ithomer) 图片的形式具有诸多的不便.缺失源图的我们.无法为此图贡献些什么,随着时间的迁移,也许有些技术点会发生改变.所以有了这个GitHub项目.我们 ...
- 公钥,私钥和数字签名这样最好理解 分类: B3_LINUX 2015-05-06 16:25 59人阅读 评论(0) 收藏
一.公钥加密 假设一下,我找了两个数字,一个是1,一个是2.我喜欢2这个数字,就保留起来,不告诉你们(私钥),然后我告诉大家,1是我的公钥. 我有一个文件,不能让别人看,我就用1加密了.别人找到了这个 ...
- 15.1 linux操作系统下nand flash驱动框架2
当我们需要在操作系统上读写普通文件的时候,总是需要一层层往下,最终到达硬件相关操作,当然底层设备大多数都是块设备 NAND FLASH就作为一个最底层的块设备. 而写驱动,就是要构建硬件与操作系统之间 ...
- thinkphp 3.2,引入第三方类库的粗略记录
首先用第三方类库我是放到vendor里面的 根目录\ThinkPHP\Library\Vendor\Wxphp 例如创建了一个Wxphp文件夹,里面有个php文件叫做 zll.php 文 ...
- Android隐藏输入法
输入法隐藏两种方式: /** * 隐藏输入法 * * @param myActivity */ public static void hideInput(Activity myActivity,Edi ...
- angular动画知识点以及代码样例
原文地址 https://www.jianshu.com/p/4400174072e2 大纲 1.angular动画的相关概念 2.angular动画的绑定方式 3.angular动画代码实例 1.a ...
- Velocity浅析及与Jsp、Freemarker对比 分类: B1_JAVA 2014-07-21 09:14 637人阅读 评论(0) 收藏
转载自:http://www.cnblogs.com/petermsdn/archive/2011/05/06/2039178.html Velocity 是一个基于java 的模板引擎(templa ...
- 【Bash百宝箱】Linux shell学习
shell特点-- Linux有多种shell能够使用,默认的为bash,bash有以下几个主要特点. 1.命令记忆能力 在命令行中按上下键能够找到一个前/后输入的命令.这些命令记录在-/.bash_ ...
- [tmux] Enable mouse mode in tmux
We'll learn how to use mouse mode in tmux, including enable mouse control for resizing, scrolling an ...