vue项目中如何使用websocket
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章将为大家详细讲解有关vue项目中如何使用websocket,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是websocket?"WebSocket 是
千家信息网最后更新 2026年11月03日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安全错误
数据库的锁怎样保障安全
上海挚品互联网科技有限公司
科技互联网产品
互联网科技有限公司经营范围
互联网和科技创新
互联网医疗科技
壹账通互联网科技
互联网科技ppt模板
易通互联网络科技有限公司
互联网金融 科技创新
科技赋能互联网健康
现代科技和互联网有关系吗
隆华科技工业互联网
欧洲十大科技互联网公司
互联网系的金融科技公司
互联网金融中的现代科技
河南猎农互联网科技有限公司
知域互联网科技有限公司大骗子
中国互联网有什么科技
图游互联网科技
神州科技互联网有限公司
互联网为科技
互联网科技未来
港股互联网科技股
北京互联网科技有限公司
互联网科技的英文
互联网科技美容
富国互联网科技创新基金
南山科技园互联网公司有哪些
湖北辰鑫科技互联网
互联网科技的前景