webSocket长时间连接后会不会变卡
发布网友
发布时间:2022-04-20 03:31
我来回答
共1个回答
热心网友
时间:2022-05-23 17:10
不会变卡,会断开连接。
WebSocket连接后一分钟自动断开关闭。
这是因为websocket长连接有默认的超时时间(1分钟,由proxy_read_timeout决定),就是超过一定的时间没有发送任何消息,连接会自动断开。解决办法就是让浏览器每隔一定时间(要小于超时时间)发送一个心跳。代码如下:
//每隔5秒钟发送一次心跳,避免websocket连接因超时而自 动断开
window.setInterval(function(){
var ping = {"type":"ping"}; ws.send(JSON.stringify(ping)); },5000);