socket.io 客户端网络断开后服务端怎样捕获?

如题,服务端用的是 nodeJs ,客户端是 reactJs
如果是用户手动关闭浏览器页面 socket.io 能够自动捕获并触发 disconnect ,这样我就可以处理用户退出对话的事件。
但我测试发现,如果是网络突然中断,socket.io 没办法捕获,更不会触发 disconnect 事件。

有想过服务端每隔一定事件给客户端发送消息确保客户端正常,但服务器压力是否会很大?
或者有没有什么办法捕获?

阅读 10.4k
2 个回答

https://socket.io/docs/client...

看他的官方文档 有socker内置的事件 可以监听,

clipboard.png

一个是connect_error 发生连接错误,当你没网络的时候会出发这个 你可以直接去监听
一个是connect_timeout 在连接超时时触发,当你没网络时 socket会自动重连(你可以设置次数)当重连还没成功时 用这个事件监听

希望可以帮到你

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏