У меня есть простой сервер веб-сокетов, который отправляет сообщение клиенту, но иногда этот сервер не всегда включен перед клиентом, иногда сервер не всегда включен, но в моем случае я хочу, чтобы клиент всегда был ищет подключения к серверу, чтобы он чувствовал себя немного плавно со стороны пользователей.
Действительно, большинство моих решений пытались инициализировать веб-сокет внутри цикла и надеются, что он в конечном итоге подключится, но даже после того, как я снова включил сервер, он просто зависает с 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!");
Я ожидаю, что клиент продолжит поиск сервера, а затем освободит его и выполнит другие обязанности после подключения. Я надеюсь, что этой информации достаточно, чтобы получить ответ, но я хочу добавить больше к редактированию, если этого недостаточно. Спасибо.