1
Socket.IO允许中间件功能传递错误。自定义Socket.IO中间件错误事件?
var io = require('socket.io')();
io.use(function(socket, next){
if (socket.request.headers.cookie) return next();
next(new Error('Authentication error'));
});
客户端可以通过侦听默认的“错误”事件侦听这些错误。
clientIO.on('error', function(err) {
console.log(err);
}
有没有什么办法让Socket.IO中间件发出自定义事件名称,而不是“错误”(例如,“AUTHENTICATION_ERROR”)?
看来好像服务器发出错误信息(“验证错误”),而不是整个错误的对象,所以有是无法访问错误的其他属性。不知道这是不是一个无关的问题,但。 – user2901933
对于当前版本的'socket.io'(1.4.8),似乎工作得很好。 [这是一个要点](https://gist.github.com/robertklep/a8adbdf15a210ac432e4cc1a75d912bf)与我测试过的代码。我相信你需要使用'err.data',而不是像'err.type'这样的随机属性。 – robertklep