2015-05-30 100 views
0

使用socket.io,发出错误的规定方法是什么,以便将错误信息发送给客户端?如何使用Socket.IO发出服务器端错误并接收有关客户端错误的详细信息?

我有这样的:

socket.on('connection', function(socket) { 
    if (someError) { 
    emit('error', 'there is a error...'); 
    } 
}; 

我知道,有一种方法可以做一些像什么,我想通过注册与socket.io中间件,但我不知道我需要做的从中间件将错误信息传回给客户端:

io.use(function(socket, next) { 
    next(new Error('An error has occurred.')); 
}); 

在此先感谢您提供任何建设性指导。

+0

是的,我们会需要比这更多的信息。你想在客户端抛出一个错误并将其发送到服务器?反之亦然?备份一个关卡并告诉我们你的更高层次的目标是什么。 – Chev

+0

如果存在连接错误,则自动触发事件“错误”。 http://socket.io/docs/client-api/#socket – laggingreflex

回答

2

你似乎是在服务器端正确地发出错误,但你也可能发现the following syntax/example of interest

socket.on('connection', function(socket) { 
    if (someError) { 
     this.emit('error', new Error('there is an error..')); 
    } 
}; 

在客户端,你将需要一个error处理程序,这里是一个例子“错误”处理程序:

socket.on('error', function (data) { 
    console.log(data || 'connect error - no data'); 
}); 

在这种情况下,data应包含有关错误的详细信息。

您不需要为此行为注册中间件组件,此行为开箱即用。

参考文献:

  1. Client API Manager Documentation, describing events and parameters.
  2. NodeWiz.biz article on Error Handling patterns in Node
相关问题