websocket重新连接,代码为1006

时间:2016-07-26 13:52:29

标签: javascript websocket

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

Reconnection of Client when server reboots in WebSocket

接受的答案确实有效,但是在服务器重新连接后20秒,尝试连接的数量上升到4,用户收到4条实际只发送一次的消息。

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

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

1 个答案:

答案 0 :(得分:1)

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

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;

        }
   };