簡體   English   中英

如何使用 Express 在 node.js 中關閉 HTTP 連接

[英]How to close HTTP connection in node.js using Express

我將 node.js (Express) 與服務器發送的事件一起使用。 我想通過關閉 sse HTTP 連接來關閉事件流。 鑒於以下功能:

router.get('/sse', function (req, res) {

});

如何做到這一點?

用這個

res.end();

它會關閉連接

所選答案不正確, res.end() 結束響應並寫入套接字。 但它不會關閉 TCP 連接。

您需要從 res 對象獲取底層連接並調用 end 來關閉它。

res.connection.end();

如何在 ExpressJS 中掛斷電話

Ⅰ. 結束響應,保持套接字連接處於活動狀態。

response.end();

Ⅱ. “能請你先掛斷嗎?”

請求客戶端發起 TCP 套接字連接終止序列。

response.set("Connection", "close"); // Note: this is an HTTP header.

三. 輕輕關閉套接字連接。

“嘿,我現在掛斷電話,'好嗎?”

TCP連接終止順序

response.connection.end();

socket.end([data[, encoding]][, callback])

半關閉套接字。 即,它發送一個FIN數據包。 服務器可能仍會發送一些數據。

有關更多詳細信息,請參閱writable.end()

Ⅳ. 只是積極地掛斷客戶。 甚至沒有FIN數據包。

response.connection.destroy();

socket.destroy([error])

確保此套接字上不再發生 I/O 活動。 銷毀流並關閉連接。

有關更多詳細信息,請參閱writable.destroy()

如果你看看這里在堆棧中已經處理過的連接如何關閉的例子。 按照鏈接進行參考。

Express.js 關閉響應

好幸運! :]

暫無
暫無

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

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