Сервер WebSocket частично открыт? - PullRequest
0 голосов
/ 05 мая 2019

Я создаю пользовательское приложение чата 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 </p>

...