【问题标题】:How to listen upgrade event after reconnect in Socket.IO如何在 Socket.IO 中重新连接后监听升级事件
【发布时间】:2018-07-15 06:22:41
【问题描述】:

我使用 Socket.IO。 我的客户端代码在这里。

socket.io.engine.on("upgrade", () => {
    console.log("upgraded")
})

socket.on("reconnect", () => {
    console.log("reconnected")
})

socket.on("disconnect", () => {
    console.log("disconnected")
})

还有,

  1. 启动服务器
  2. 打开页面
  3. 重启服务器

控制台显示

upgraded
disconnected
reconnected

“重连”后没有“升级”。

我认为 socket.io 在重新连接后会再次升级,因为在 websocket 请求之前有 xhr 请求。 此外,socket.io.engine.transport.query.transport 在发生重新连接事件时显示“轮询”,并在几秒钟后变为“websocket”。

我可以检测到第二次升级吗?

【问题讨论】:

    标签: javascript socket.io


    【解决方案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 重连前后不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-17
      • 2021-11-10
      • 2020-11-16
      • 1970-01-01
      • 2018-09-11
      • 2015-03-05
      • 2016-03-28
      相关资源
      最近更新 更多