Websocket身份验证失败的时候,希望向前台传输错误信息,但是Socket.IO目前最新版本1.4.6在后台使用
next(new Error('unauthorization'));
前端的代码不会响应error事件
socket.on('error', function (data) {
console.log(data || 'error');
});
经查明,可能是一个浏览器兼容性的问题,处理的方法是
var socket = io.connect(http://myapp.herokuapp.com);
修改为:
var socket = io.connect();
但是丢失了Socket.IO的命名空间。
参考链接:http://*.com/questions/10030639/socket-io-connect-event-does-not-fire-on-the-client