Express.js关闭响应

时间:2012-11-25 18:57:11

标签: javascript node.js express keep-alive

有没有办法关闭回复?我可以使用res.end()但它实际上并没有关闭套接字。

我想要实现的目标:我正在编写一个与网络接口的Java程序,我正在为此编写node.js服务器。 Java代码:

String line;
while((line = in.readLine()) != null) {
    System.out.println("RES: "+line);
}

但这只是一直挂着..没有结束连接,仍在等待来自套接字的输入。

节点:

exports.getAll = function (req, res) {
    res.set("Content-Type", "text/plain");
    res.set(200);
    res.send(..data..);
    res.end();
}

然而res.end()没有关闭连接..如前所述,java一直认为会有下一步的东西,所以它会被困在while循环中。

谢谢

2 个答案:

答案 0 :(得分:27)

通过设置HTTP标头来关闭连接而不是默认的保持活动策略来解决。

res.set("Connection", "close");

答案 1 :(得分:0)

万一某个真正想要关闭连接的人找到了,可以使用res.socketres.connection来获取net.Socket对象,该对象带有destroy方法:

res.connection.destroy();