NodeJS Express套接字IO路由& MVC

时间:2017-08-22 06:16:38

标签: node.js express model-view-controller routes

在HTTP协议中工作时,路由非常简单。 您正在查看标题,获取路径,然后使用字典定义哪些路由转到哪个控制器。

例如:

{
    "/"        : { "controller" : "MainController", "action" : "index", "di" : {} },
    "/Login"    : { "controller" : "LoginController", "action" : "login", "di" :  {"LoginService"} }
} 

我想在nodejs express上使用socket io时尝试匹配该行为。

问题是,我不知道怎么听"任何 on ,并查看其属性,就好像它是一个http请求,我要检查它的标题。

所以最大的问题是: 我如何倾听任何事件?

让我们假设以下所需的代码:

io.on('connection', function(socket) {
    socket.any(Route, callback);
}

任何是一个补充功能。

1 个答案:

答案 0 :(得分:0)

Socket.io支持类似middleware framework的类似快递,如果您想拦截每个请求,那么您可以这样做:

io.use((socket, next) => {
   // inspect socket.handshake.headers
});