如何使用Express关闭node.js中的HTTP连接

dev*_*ull 4 javascript node.js express server-sent-events

我将node.js(Express)与服务器发送的事件一起使用.我想通过关闭sse HTTP连接来关闭事件流.鉴于以下功能:

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

});
Run Code Online (Sandbox Code Playgroud)

怎么能实现呢?

Кон*_*Ван 15

ExpressJS中如何挂断电话

\n

\xe2\x85\xa0。结束响应,保持套接字连接处于活动状态。

\n
response.end();\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x85\xa1。\xe2\x80\x9c可以先挂断电话吗?\xe2\x80\x9d

\n

请求客户端启动 TCP 套接字连接终止序列。

\n
response.set("Connection", "close"); // Note: this is an HTTP header.\n
Run Code Online (Sandbox Code Playgroud)\n

\xe2\x85\xa2。轻轻关闭套接字连接。

\n

\xe2\x80\x9c嘿,我\xe2\x80\x99现在要挂断了,\xe2\x80\x99kay?\xe2\x80\x9d

\n

TCP连接终止序列

\n
response.connection.end();\n
Run Code Online (Sandbox Code Playgroud)\n
\n

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

\n

半关闭套接字。即,它发送一个FIN数据包。服务器可能仍会发送一些数据。

\n

请参阅writable.end()了解更多详情。

\n
\n

\xe2\x85\xa3。积极地挂断客户的电话。FIN甚至没有数据包。

\n
response.connection.destroy();\n
Run Code Online (Sandbox Code Playgroud)\n
\n

socket.destroy([error])

\n

确保此套接字上不再发生 I/O 活动。销毁流并关闭连接。

\n

请参阅writable.destroy()了解更多详情。

\n
\n


Muh*_*sad 9

用这个

res.end();
Run Code Online (Sandbox Code Playgroud)

它将起到关闭连接的作用

  • 这会结束响应,但不会关闭 TCP 连接。 (5认同)