WebSocket服务器部分打开?

时间:2019-05-04 21:23:05

标签: javascript websocket ws

我正在构建一个聊天应用程序用户WebSockets,它工作得很好,并且我现在正尝试实现重新连接功能,因此,如果Node服务器关闭,客户端将进入重新连接模式,在该模式下,客户端将尝试连接到websocket每秒钟左右。我已经使这成为可能,这是客户端:

        function connect() {
        const url = 'ws://localhost:1720';
        const ws = new WebSocket(url);

        ws.onopen = function(e) {
            $(".pulse").css("background","#51ff85");
            $(".pulse").css("animation","pulse 2s infinite");
          };

        ws.onclose = function(e) {
        $(".pulse").css("background","#ff7272");
        $(".pulse").css("animation","none");
        setTimeout(function() {
          connect();
        }, 1000);
      };

   }

此代码似乎有效,但是当已连接的客户端在断开连接并发送消息后尝试再次连接时,该客户端遇到以下错误:WebSocket is already in CLOSING or CLOSED state

我制作了一个简短的视频来演示问题:https://streamable.com/twnuj

如您所见,消息的某些部分似乎到达了服务器(obj.username),但是没有发送或接收消息。

问题可能是客户端正在尝试与失效的服务器实例进行通信吗?

非常感谢您提供有关此问题的任何意见! <3

0 个答案:

没有答案