Reputation: 937
I use Socket.IO. My client side code is here.
socket.io.engine.on("upgrade", () => {
console.log("upgraded")
})
socket.on("reconnect", () => {
console.log("reconnected")
})
socket.on("disconnect", () => {
console.log("disconnected")
})
And,
console shows
upgraded
disconnected
reconnected
There is no 'upgraded' after 'reconnected'.
I think that socket.io do upgrade again after reconnect because there are xhr requests before a websocket request.
Also, socket.io.engine.transport.query.transport
shows 'polling' when reconnect event is occurred, and it becomes 'websocket' in few seconds later.
Can I detect second upgrade?
Upvotes: 1
Views: 859
Reputation: 937
It worked.
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
differs before and after reconnection.
Upvotes: 1