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

Mat*_*kas 24 javascript node.js socket.io

我认为这个问题非常简单,但我还没有在官方的Socket.io文档中找到答案.

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

在此输入图像描述

有没有办法在客户端Javscript中检测此事件并以某种方式对其做出反应?我想我会在页面上显示一个对话框,例如"抱歉,服务器负载很重"等.

Mat*_*kas 40

从Socket 1.x开始,处理此问题的正确方法是将Manager对象用于给定套接字.它抛出一个connect_error可以如下所示处理的事件:

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