Ghe*_*man 6 javascript websocket socket.io
我在Socket.io上与服务器和客户端聊天.客户端向/从服务器发送和接收消息.为了测试断线事件,我拔出以太网插头并在几秒钟后重新连接.
之后,从客户端发送消息仍然正常,并且在断开连接期间所有先前发送的消息都在Chrome和Firefox上成功重新发送.
但是,对于接收,Chrome可以,但不适用于不再从服务器接收消息的Firefox.
问题是如何正确处理此类网络问题并使我的聊天更加健壮?
我终于找到了问题的根源。Socket.io 确实可以开箱即用地重新连接,因此您无需尝试重新连接。然而,成功重新连接后,套接字似乎没有重新加入同一个房间。我设法像这样解决问题:
socket.on('reconnect', () => {
socket.emit('onEnter', data);
});
Run Code Online (Sandbox Code Playgroud)
这里的onEnter事件用于让服务器加入我到房间。但我不明白为什么它不能保留房间。
| 归档时间: |
|
| 查看次数: |
395 次 |
| 最近记录: |