如何处理ExpressJS中的HTTP升级?

最新的ExpressJS不再inheritance自http.Server。

如果我尝试在upgrade事件上收听,则服务器将以404 Not Found回答。

目前[简体]代码是:

 app.on('upgrade', function(req, socket, head) { /* ... */ }); 

如果我尝试在Google上search答案,我只会find与“3.0 – > 4.0 express upgrade ”相关的链接,而不是HTTP 升级

编辑:

按照@ jfriend00的要求,我的快速初始化[简体]代码:

 app = express.createServer(); app.listen(self.port, self.ipaddress); 

由于我的评论似乎为你工作,我会把它在一个答案。

express.createServer()已被弃用很长一段时间,并从Express 4中删除。您将在Express 4中创build应用程序对象,其中包含:

 var app = express() 

http服务器对象然后从中返回

 var server = app.listen(...) 

如果你需要直接访问http服务器对象。