欢迎光临
我们一直在努力

JavaScript如何处理WebSocket的超时

小编给大家分享一下JavaScript如何处理WebSocket的超时,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

处理WebSocket的超时

通常情况下,WebSocket连接创建后,如果30秒内没有任何活动,服务器端会对连接进行超时处理,防火墙也可以对单位周期没有活动的连接进行超时处理。

为了防止这种情况的发生,可以每隔一定时间,往服务器发送一条空的消息。可以通过下面这两个函数来实现这个需求,一个用于使连接保持活动状态,另一个专门用于结束这个状态。

Add a timerID

var  timerID  =  0;

function  keepAlive()  {

    var  timeout  =  15000;  

    if  (webSocket.readyState  ==  webSocket.OPEN)  {  

        webSocket.send('');  

    }  

    timerId  =  setTimeout(keepAlive,  timeout);  

}                     //欢迎加入前端全栈开发交流圈一起学习交流:1007317281

function  cancelKeepAlive()  {  

    if  (timerId)  {  

        cancelTimeout(timerId);  

    }  

}

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

以上是“JavaScript如何处理WebSocket的超时”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云搜网行业资讯频道!

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。