vue项目中如何使用websocket
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,这篇文章将为大家详细讲解有关vue项目中如何使用websocket,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是websocket?"WebSocket 是
千家信息网最后更新 2024年11月24日vue项目中如何使用websocket
这篇文章将为大家详细讲解有关vue项目中如何使用websocket,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
什么是websocket?
"WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。
WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。
在 WebSocket API 中,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。"
1. 在utils下新建websocket.js文件
// import { showInfoMsg, showErrorMsg } from '@/utils/popInfo'import ElementUI from 'element-ui';function initWebSocket(e) { console.log(e) const wsUri = WS_API + "/webSocket/" + e; this.socket = new WebSocket(wsUri)//这里面的this都指向vue this.socket.onerror = webSocketOnError; this.socket.onmessage = webSocketOnMessage; this.socket.onclose = closeWebsocket;}function webSocketOnError(e) { ElementUI.Notification({ title: '', message: "WebSocket连接发生错误" + e, type: 'error', duration: 0, });}function webSocketOnMessage(e) { const data = JSON.parse(e.data); console.log(data.msgType === "INFO", data.msgType === "INFO") if (data.msgType === "INFO") { ElementUI.Notification({ title: '', message: data.msg, type: 'success', duration: 3000, }); } else if (data.msgType === "ERROR") { ElementUI.Notification({ title: '', message: data.msg, type: 'error', duration: 0, }); }}// 关闭websiocketfunction closeWebsocket() { console.log('连接已关闭...')}function close() { this.socket.close() // 关闭 websocket this.socket.onclose = function (e) { console.log(e)//监听关闭事件 console.log('关闭') }}function webSocketSend(agentData) { this.socket.send(agentData);}export default { initWebSocket, close}
如果想刷新重新链接websocket 可以在App.vue页面里添加个钩子函数
mounted() { //当在任一路由页面被刷新时,便是根组件app被从新建立,此时能够进行webSocket重连 //从localStorage中获取用户信息,是登陆状态则能够进行webSocket重连 let token = localStorage.getItem("token"); if (token) { // userMessage = JSON.parse(userMessage); this.$websocket.initWebSocket(token); } },
客户端主动关闭websocket 在关闭的地方触发函数就可以
logout() { // localStorage.clear(); localStorage.removeItem("token"); this.$websocket.close(); this.$store.dispatch("LogOut").then(() => { location.reload(); }); },
注:$webSocket 是在main.js中全局注册了websocket.js文件
关于"vue项目中如何使用websocket"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
服务
之间
数据
服务器
客户
客户端
浏览器
篇文章
浏览
项目
主动
函数
文件
更多
页面
不错
实用
事件
信息
全局
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
国二软件开发考什么
安徽淮南纵横网络技术有限公司
TIS服务器内服人员名单
服务器的安装配置
网络安全法和反恐怖主义
软件开发过程是什么
100台服务器怎么统一管理
数据库日志审计功能要求
网络安全办公室公务员
java软件开发外包
北京oa软件开发哪家好
广东网络安全宣传周主题
数据库接口弊端
网络安全犯罪行为有哪些种类
校园网络安全隐患和解决措施
条码打印机 数据库
数据库创建查询关键字
读秀数据库检索平台
服务器及存储器解决方案云存储
查找文献各个数据库的区别
进口以太网串口服务器
口碑好的软件开发方案
守护网络安全口号
西安易网络技术有限公司
曙光存储服务器
保障网络数据库系统安全
我的世界无红石农田服务器
百度文库服务器代码
无人售货机软件开发多少
拱墅区手机软件开发