javascript - websocket 在关闭时重新连接,代码为 1006

标签 javascript websocket

我正在使用 javascript websocket 并希望它使用代码 1006 重新连接 onclose。 我遇到了这个

Reconnection of Client when server reboots in WebSocket

那里接受的答案确实有效,但 20 秒后,当服务器重新连接时,尝试连接的次数增加到 4,用户收到 4 条消息,实际上只发送了一次。

20 秒只是一个数字,连接丢失可能是服务器端问题或客户端互联网问题。

我希望我已经清楚地描述了这个问题 问候, 希亚姆

最佳答案

您可以查看关闭事件错误代码并重新连接

var ws = null; //reserve it for websocket

function connectWebsocket(){ 
    if ("WebSocket" in window) //browser supports webscokets
    {
        ws = new WebSocket("ws://your_url");
        ws.addEventListener("open", socketOpened);
        ws.addEventListener("message", messageRecived);
        ws.addEventListener("close", socketClosed);
     }else // browser doesn't support chat.. 
     {
        alert("Websockets not supported by browser ");
     }
 };
 function socketClosed(evt){ 
       switch(evt.code){
            case 1006: 
                setTimeout(connectWebsocket,1000); //try to reconnect in 1s
                break;

        }
   };

关于javascript - websocket 在关闭时重新连接,代码为 1006,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38591817/

相关文章:

javascript - jquery 按钮点击重定向

php - 选择哪个Websocket服务器?

node.js - 如何 try catch ws 错误 "getaddrinfo ENOTFOUND"?

java - 在 Spring 中定义一个 "send-only"WebSocket 服务器

javascript - 如何在禁用 JavaScript 时隐藏部分 HTML?

javascript - 当根节点传递给它时,d3 TreeMap 布局是否被缓存?

php - PHP通过xhr获取数据

javascript - 使图像适合 IE 窗口

php - Symfony Doctrine EntityManager 没有正确刷新

python - Tornado websocket 模型