长知识博客网站,一个编程知识分享网站! Email:

JavaScript 处理WebSocket的超时

分类: 前端 浏览量: 留言数: 98564

通常情况下,WebSocket连接创建后,如果30秒内没有任何活动,服务器端会对连接进行超时处理。

防火墙也可以对单位周期没有活动的连接进行超时处理。

为了防止这种情况的发生,可以每隔一定时间,往服务器发送一条空的消息。

可以通过下面这两个函数来实现这个需求,一个用于使连接保持活动状态,另一个专门用于结束这个状态。

var timerID = 0; 
function keepAlive() { 
 var timeout = 15000; 
 if (webSocket.readyState == webSocket.OPEN) { 
  webSocket.send(''); 
 } 
 timerId = setTimeout(keepAlive, timeout); 
} 
function cancelKeepAlive() { 
 if (timerId) { 
  cancelTimeout(timerId); 
 } 
}

keepAlive函数可以放在WebSocket连接的onOpen()方法的最后面,cancelKeepAlive()放在onClose()方法的最末尾。

JavaScript 处理WebSocket的超时,这样的场景在实际项目中还是用的比较多的,关于JavaScript 处理WebSocket的超时就介绍到这了。

JavaScript 处理WebSocket的超时属于前端实例代码,有关更多实例代码大家可以查看。

本文地址: http://www.zzsi.net/code/web/98564.html

本站部分资源来源与网络,仅供学习参考使用,请勿商用,如侵犯了您的权益,请联系我们删除。

标签: 上一篇: 下一篇:
在线留言CONTACT US

评论功能已关闭

展开更多