我有一个简单的websocket服务器,它可以向客户端发送消息,但是有时该服务器并不总是在客户端之前打开,有时该服务器并不总是打开,但是在我的情况下,我希望客户端始终处于打开状态希望连接到服务器,从而使用户感到无缝。
真的,我的大多数解决方案都在尝试在循环内初始化Web套接字并希望它最终连接,但是即使在我重新打开服务器后,它也挂起了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!");
我希望客户端继续寻找服务器,然后在服务器连接后释放它并执行其他职责。我希望这是足够的信息,以获得答案,但如果不够简洁,我愿意在编辑中添加更多内容。谢谢。