如何处理io.use中间件来捕获客户端上的错误?
我需要检查我的套接字连接的身份validation,如果失败,请删除一个。 我的服务器和客户端代码如下所示:
// server.js
var http = require('http'); var sio = require('socket.io'); var app = require('express')(); var server = require('http').createServer(app).listen(3000, function () { console.log('Server listening on 3000 port'); }); var io = sio.listen(server); io.use(function (socket, next) { return next(new Error('Not Authenticated')); });
// client.js
var socket = io.connect(window.location.origin); socket.on('connect', function () { console.log('socket connected') });
我的问题是我不能捕获客户端上的Not Authenticated
错误来处理它,并显示一些popup窗口的例子。
现在,如果Not Authenticated
错误在服务器端得到执行,那么套接字连接仍然存在,但没有任何socket.emit('message')
不起作用。
如何在客户端捕获这个错误做出一些决定?
你应该赶上客户端的error
事件:
socket.on('error', function(err) { console.log('The server sent an error', err); });
- Backbone.Marionette不承认Marionettefunction
- 如何使用express.js在Ajax调用中实现CSRF保护(查找完整示例)?
- 快速AppFog上的错误,但不是在本地
- Docker环境variables,dokku-redis
- 我在哪里可以find一个socket.io 1.0的工作示例?
- 只允许passportjsauthentication的用户访问受保护的页面
- (node:5132)DeprecationWarning:`DEBUG_FD`已弃用。 与bodyParser
- express和socket.io:将var io传递给路由器
- Node.js Express + Jade(活动类内衬物品)