记录websocket心跳检测遇到的坑

1.首先上代码,代码是用的原生ws浏览器自带 在这里插入图片描述
坑点1:原生ws携带token的时候要去空格,否则后端会报错。

因为在ng服务器上 默认60秒接受不到信息就会自动断开连接 所以前端需要加入心跳检测去重置时间,当然也可以改ng配置延长时间,但治标不治本
代码如下
在这里插入图片描述
在这里插入图片描述

在mounted里加入代码
并且主要1处加入开关变量 因为当页面离开的时候我们需要关闭连接 而此时在2处判断一下 如果是离开页面了则不执行后面重连代码
搜索时关闭旧连接,建立新连接同理
在这里插入图片描述
需要data中定义变量去控制 如果是搜索则在close的时候不调用重连代码

重来代码如下
在这里插入图片描述
同样需要在data中定义开关变量避免请求过多

data中变量如下
在这里插入图片描述
最后 重要
在这里插入图片描述
在open和message时重置并开始
在err和close的重新建立连接
本项目中close时需要判断 条件才进行连接
这儿注意 仅仅在这儿判断是不够的 离开页面后 仍然会推送一条信息 在153行处 代码会执行 报socket已断开 虽然不影响效果 功能 但还是得解决!!!
所以才有了 152的判断

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值