在正则表达式匹配上的Nodejs Socket io

时间:2013-11-07 16:14:09

标签: javascript regex node.js socket.io

我正在尝试Node和Socket IO,我试图以类似的方式匹配路由节点 例如

app.get("controller/action/somevar", callback);

但是在套接字事件匹配中使用正则表达式似乎不起作用。有没有办法匹配正则表达式事件,或至少匹配通配符“*”

我试过这个。

socket.on(/.+/gi, function (data) {
socket.emit('set_time', { time: '13:32'});
});

我想拦截来自某些控制器或包含一些变量的所有事件。

ps:我发现一个博客提到没有办法匹配正则表达式事件,但那是2年前,也许情况发生了变化。

1 个答案:

答案 0 :(得分:2)

套接字继承自EventEmitter,因此只支持定期命名的事件(没有像通配符或正则表达式这样的花哨的东西)。

somewhat related question讨论了在socket.io之上实现类似Express的路由层的一些选项,但the solution不是替代品,需要重写客户端和服务器代码

sockatron模块采用了一种相当不同的方法,但也许适用于您的情况。