簡體   English   中英

如何處理 ExpressJS 中的 HTTP 升級?

[英]How to handle HTTP upgrade in ExpressJS?

最新的 ExpressJS 不再從 http.Server 繼承。

如果我嘗試偵聽upgrade事件,服務器將回答404 Not Found

當前的[簡化]代碼是:

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

如果我嘗試在 Google 上搜索答案,我只會找到與“3.0 -> 4.0 express upgrade ”相關的鏈接,而不是HTTP upgrade

編輯:

根據@jfriend00 的要求,我的快速初始化[簡化] 代碼:

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

由於我的評論似乎對你有用,我會把它放在一個答案中。

express.createServer()已被棄用很長時間並從 Express 4 中刪除。您可以在 Express 4 中使用以下命令創建 app 對象:

var app = express()

然后從 http 服務器對象返回

var server = app.listen(...)

如果您需要直接訪問 http 服務器對象。

使用 express 應用創建 HTTP 服務器:

const app = express()

const server = http.createServer(app);

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

server.listen(5000);

https://github.com/expressjs/express/issues/2556#issuecomment-75310480

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM