自存 vue解决websocket刷新连接断开问题
Refresh是刷新方法,意思就是如果username为空就拦截,不为空就把websocket创建一个新的类,这个在刷新时调用,主App.vue中的websocket方法就是刷新方法。username就是用户名,在用户登录后就存入sessionstorage中,这里不赘述,如果没登录sessionStorage就没有值,就不创建websocket。一般来说,websocket长连接在登陆时建立,但
一般来说,websocket长连接在登陆时建立,但如果刷新时这个连接就会断开,
一开始我是想把建立的websocket存在sessionStorage中,但发现这玩意根本存不了,
要解决的是
1.刷新后websocket永远有值,如果刷新了就在create中又新建一个websocket
2.在登录后主动创立一个websocket
首先创立一个js类
var websocket = null;
export function Refresh(username) {
if (username == null) {
}
else { websocket = new WebSocket("ws://localhost:8088/ws/" + username); }
}
export function sendsession(message) {
websocket.send(JSON.stringify(message))
}
export function getwebsocket(username){
websocket=new WebSocket("ws://localhost:8088/ws/" + username);
}
Refresh是刷新方法,意思就是如果username为空就拦截,不为空就把websocket创建一个新的类,这个在刷新时调用,主App.vue中的websocket方法就是刷新方法
const username=sessionStorage.getItem("username")
getwebsocket(username);
username就是用户名,在用户登录后就存入sessionstorage中,这里不赘述,如果没登录sessionStorage就没有值,就不创建websocket
getwebsocket就是登录成功后调用的函数,sendsession就是发送消息到后端的函数
大概就这样
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)