自存 vue解决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就是发送消息到后端的函数

大概就这样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值