如果服务器closures,如何捕获浏览器抛出的ERR_CONNECTION_REFUSED?

我觉得这个问题很简单,但是我还没有在官方的Socket.io文档中find答案。

我有我的Socket.io服务器和客户端通信成功,当我closures服务器,客户端将尝试重新连接到服务器失败。 这在Chrome开发者控制台中显示:

在这里输入图像描述

有什么方法可以在客户端Javscript中检测到这个事件,并以某种方式做出反应? 我想我会在页面上显示一个对话框,如“对不起,服务器负载很重”等。

从Socket 1.x开始,处理这个问题的正确方法是使用给定套接字的Manager对象。 它引发一个connect_error事件,可以像下面这样处理:

 socket.io.on('connect_error', function(err) { // handle server error here console.log('Error connecting to server'); }); 

这应该工作:

 var socket = io('http://localhost'); socket.on('connect_error', function(err) { // notify user });