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

时间:2016-04-17 18:53:24

标签: javascript node.js express server-sent-events

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

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

});

如何实现这一目标?

4 个答案:

答案 0 :(得分:8)

使用此

res.end();

它将用于关闭连接

答案 1 :(得分:2)

选择的答案不正确, res.end() 结束响应并写入套接字。但它不会关闭 TCP 连接。

您需要从 res 对象获取底层连接并调用 end 来关闭它。

res.connection.end();

答案 2 :(得分:0)

如果你看看堆栈中已经处理了一个如何关闭连接的例子。请点击链接以供参考。

Express.js close response

祝你好运! :

答案 3 :(得分:0)

ExpressJS如何挂断

Ⅰ.结束响应,保持套接字连接处于活动状态。

response.end();

Ⅱ. “能先挂断吗?”

请求客户端发起 TCP 套接字连接终止序列。

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

三。轻轻关闭套接字连接。

“嘿,我现在挂了,好吗?”

TCP connection termination sequence

response.connection.end();
<块引用>

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

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

有关详细信息,请参阅 writable.end()

Ⅳ.只是积极地挂断客户。甚至没有FIN数据包。

response.connection.destroy();
<块引用>

socket.destroy([error])

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

有关详细信息,请参阅 writable.destroy()