繁体   English   中英

如何在客户端浏览器中中止“新 WebSocket”

[英]How to abort a “new WebSocket” in a client browser

如果服务器拒绝打开 websocket,Javascript new Websocket(socketUrl)可能会永远运行,并且根据设计,周围的脚本不会获得有关服务器拒绝打开它的原因的信息。 我已经看到客户端浏览器每隔几秒钟发送 websocket 请求超过 10 周(我想一个标签一直处于打开状态并且一直未使用)。

我已经对周围的客户端脚本进行了更改,当 websocket 请求变得无用时,它检测(通过正常的 http 请求),然后关闭套接字。 从此时起,重新加载其 javascript 文件的客户端将不再引起问题。

但是,我想知道是否有一种方法可以明确地处理那些从不重新加载的客户端中被遗忘的选项卡,或者我唯一能做的就是通过阻止负载均衡器中的多余请求(haproxy )。

假设您的 websocket object 被命名为websocket_obj 喜欢:

websocket_obj = new Websocket(url); // url You know it

然后,当您收到错误时,您可以关闭套接字。 所以,

websocket_obj.onerror = function(){
    Websocket.close();
}

这是mdn_refs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM