我使用 Socket.IO。 我的客户端代码在这里。
socket.io.engine.on("upgrade", () => {
console.log("upgraded")
})
socket.on("reconnect", () => {
console.log("reconnected")
})
socket.on("disconnect", () => {
console.log("disconnected")
})
还有,
- 启动服务器
- 打开页面
- 重启服务器
控制台显示
upgraded
disconnected
reconnected
'重新连接'后没有'升级'。
我认为 socket.io 在重新连接后会再次升级,因为在 websocket 请求之前有 xhr 请求。
此外,socket.io.engine.transport.query.transport
在发生重新连接事件时显示“轮询”,并在几秒钟后变为“websocket”。
我可以检测到第二次升级吗?
最佳答案
成功了。
const onUpgrade = () => {
console.log("upgrade")
}
socket.io.engine.on("upgrade", onUpgrade)
socket.on("reconnect", () => {
console.log("reconnected")
socket.io.engine.on("upgrade", onUpgrade)
})
socket.on("disconnect", () => {
console.log("disconnected")
})
socket.io.engine
重连前后不同。
关于javascript - 如何在 Socket.IO 中重新连接后监听升级事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51345837/