【问题标题】:websocket reconnect on close with code 1006websocket 在关闭时重新连接,代码为 1006
【发布时间】:2016-11-30 05:11:15
【问题描述】:

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

Reconnection of Client when server reboots in WebSocket

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

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

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

【问题讨论】:

    标签: javascript websocket


    【解决方案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;
    
            }
       };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-02
      • 1970-01-01
      • 2020-09-06
      • 2017-01-12
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多