socket.io - 捕获所有事件

时间:2011-12-28 21:48:30

标签: events node.js socket.io

我正在开发一个Node.js应用程序,几乎所有的通信都是通过socket.io进行的。

我需要做的是,在处理任何请求(登录请求除外)之前,请确保用户已通过身份验证。

显而易见的方法是在执行任何方法之前调用一个catch-all监听器。

但是,我似乎无法在Socket.io中找到类似的东西。我怎样才能实现?有没有比我正在采取的方法更好的方法?

2 个答案:

答案 0 :(得分:1)

这里最好的方法是在连接(握手)时通过解析cookie和解码会话来验证用户。

在以下链接中了解更多相关信息:

http://www.danielbaulig.de/socket-ioexpress/(这包含您需要做的所有事情的详细教程)
https://github.com/LearnBoost/socket.io/wiki/Authorizing
socket.io and session?

答案 1 :(得分:0)

结帐socket.io-events名为"抓住所有活动"

var router = requrie('socket.io-events')();
router.on('*', function (sock, args, cb) {
  //do something with the args!
  cb();
});
var io = require('socket.io')(3000);

在" socket.io v1.x会话支持"

上查看socket.io-handshake的nom