我使用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”。
我可以检测到第二次升级吗?
答案 0 :(得分:1)
有效。
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
在重新连接前后有所不同。