vue使用websoket
参考链接:https://www.cnblogs.com/qisi007/p/10213886.html
export default {
name: "realdetail",
components: {},
data() {
return {
wsuri: null,
websock: null
}
};
},
created() {
this.wsuri = "ws://127.0.0.1:8210";//监听地址
this.initWebSocket();
},
destroyed() {
this.websock.close() //离开路由之后断开websocket连接
},
methods: {initWebSocket() { //初始化weosocket
this.websock = new WebSocket(this.wsuri);
this.websock.onmessage = this.websocketonmessage;
this.websock.onopen = this.websocketonopen;
this.websock.onerror = this.websocketonerror;
this.websock.onclose = this.websocketclose;
},
websocketonopen() { //连接建立之后执行send方法发送数据
let message = {
type: "login",
data: {"mn":this.deviceInfo.mn}
};
console.log(message);
this.websocketsend(JSON.stringify(message));
},
websocketonerror() { //连接建立失败重连
this.initWebSocket();
},
websocketonmessage(e) { //数据接收
const redata = JSON.parse(e.data); console.log(redata)
this.handlerData(redata);
this.$forceUpdate(); // 强制刷新一下数据
},
websocketsend(Data) { //数据发送
this.websock.send(Data);
},
websocketclose(e) { //关闭
console.log('断开连接', e);
},
handlerData(data) {
if (data.type) {
switch (data.type) {
case "realData":
this.updateRealData(data.data);
this.deviceInfo.onlineStatus=1;
break;
case "online":
this.deviceInfo.onlineStatus=1;
break;
case "offline":
this.deviceInfo.onlineStatus=0;
break;
}
}
},
//更新实时数据
updateRealData(data){
this.realData=this.handleRealData(data);
}
}
在线测试websocket:http://coolaf.com/tool/chattest
vue使用websoket的更多相关文章
- vue中websoket的使用
首先安装npm install --save websocket-heartbeat-js@^1.0.7 在main.js中 引入并挂载全局方法 import WebsocketHeartbeat ...
- vue + websocket 的使用
阳光正好,我们正在努力前行. 一.引言 初始使用websocket ,一开始看文档的时候,觉得很简单,只需要创建websocket实例,然后有几个监听打开连接,监听关闭连接,监听连接异常等方法.但是, ...
- vue之——从彩笔的进步之路
因为这个文章开的有点晚,不可能说从头教学vue的使用,所以大概还是记录一下我的学习路线吧: 一开始是想学一个前端框架,最后选择了vue,一开始是看了表严肃的vue课程,b站有,讲的相当好,就算打个小广 ...
- vue+webpack热替换
项目地址:http://pan.baidu.com/s/1i5KCXBf 今天上午和同事完成了在mac上面调试了我的框架,最后发现问题出在window系统和mac系统在表示路径的时候出现问题,在解决这 ...
- 全栈开发——动手打造属于自己的直播间(Vue+SpringBoot+Nginx)
前言 大学的学习时光临近尾声,感叹时光匆匆,三年一晃而过.同学们都忙着找工作,我也在这里抛一份简历吧,欢迎各位老板和猎手诚邀.我们进入正题.直播行业是当前火热的行业,谁都想从中分得一杯羹,直播养活了一 ...
- swoole中websoket创建在线聊天室(php)
swoole中websoket创建在线聊天室(php) swoole现仅支持Linix,macos 创建websocket服务器 首先现在服务器创建一个websocket服务器 <?php // ...
- Vue开发多人聊天室 复盘总结
前言 在上个月初,接到一个需求,要开发一个 聊天通讯 模块 并且 集成到 项目中的多个 入口,实现业务数据的记录追踪. 接到需求后,还挺开心,这是我第一次 搞 通讯 类的需求,之前一直是 B 端 的业 ...
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
随机推荐
- forEach、for in 、 for of三者的区别
1.for 原始的遍历: 其实除了这三种方法以外还有一种最原始的遍历,自Javascript诞生起就一直用的 就是for循环,它用来遍历数组 var arr = [1,2,3,4] for(var i ...
- angular 封装http请求、解决跨域问题
第一部分:封装http请求 1.定义 ResultDataModel export interface ResultDataModel<T> { success: boolean; err ...
- 22 备份整合方案应用:Proxmox BS
22 备份整合方案应用:Proxmox BS 22.1 深度整合备份解决方案 在PVE所内建的备份功能,当我们备份至本机路径(Directory).NFS/CIFS挂接的网路储存装置时,它每一次所做的 ...
- pip 基本问题
pip语法错误 pip换源 更新错误 无模板 Ignoring警告 问题一 (pip语法错误 ) pip list File "<stdin>", line 1 pip ...
- MySQL单节点变更为主从节点
环境说明: 操作系统:CentOS 7.6 数据库版本:5.7 为了实验方便,同一台主机部署了两个实例,3306.3307 部署方案可参考 MySQL多实例部署:mysql多实例部署 - 太阳的阳ฅ ...
- Markdown格式文档图片设置居右
在Typora中设置图片居右 <p><img src="[图片路径]" align="right" /></p> left ...
- 第二天python 基础
一.Python 标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分 ...
- vue过滤出字符串中的汉字,match加正则
vue过滤出字符串中的汉字,match加正则 str="23申迪MTN001(102380026)";str.match(/[\u4e00-\u9fa5]/g).join(&quo ...
- 爬B站并保存成csv文件。提供数据
"""b站排行榜爬虫(scrapy)https://www.bilibili.com/ranking#!/all/0/0/7/爬取编号,标题,url,综合评分,播放量,评 ...
- Java设计模式——装饰器模式(Decorator)
今天上课讲了java设计模式中的装饰器模式--Decorator,由于早上起的很早,肚子也很饿,知识点本身也晦涩难懂,听的云里雾里的,所以在课下对这块的知识做出一些总结. 定义 装饰器模式又名包装(W ...