как заставить клиента Websocket постоянно пытаться подключиться к Websocket Server? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть простой сервер веб-сокетов, который отправляет сообщение клиенту, но иногда этот сервер не всегда включен перед клиентом, иногда сервер не всегда включен, но в моем случае я хочу, чтобы клиент всегда был ищет подключения к серверу, чтобы он чувствовал себя немного плавно со стороны пользователей.

Действительно, большинство моих решений пытались инициализировать веб-сокет внутри цикла и надеются, что он в конечном итоге подключится, но даже после того, как я снова включил сервер, он просто зависает с ReadyState 0, как я даже не поставить сервер на.

То, что я попробовал первым, если сервер не включен, просто вернет ошибку в socket.onerror.

const PORT = 8888
const url = 'ws://localhost:'+PORT;

let socket = new WebSocket(url);

С этим решением я надеялся, что оно в конечном итоге подключится и выйдет из цикла, но даже после установки сервера на нем будет зависать 0.

const PORT = 8888
const url = 'ws://localhost:'+PORT;

let socket = new WebSocket(url);

while(socket.readyState != 1){
    socket = new WebSocket(url);
    console.log(socket.readyState);
}
console.log("I'm free!");

Я ожидаю, что клиент продолжит поиск сервера, а затем освободит его и выполнит другие обязанности после подключения. Я надеюсь, что этой информации достаточно, чтобы получить ответ, но я хочу добавить больше к редактированию, если этого недостаточно. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...