node.js http服务器需要很长时间才能关闭

时间:2013-07-11 15:21:50

标签: node.js

我有nodejs http服务器。在发送一个请求并获得响应后,我正在尝试使用server.close()关闭它,但是需要很长时间才能关闭(超过60秒)。 可能是什么问题?

修改

目前我正在使用chromes高级休息客户端进行测试,在收到响应后发送一个请求结果缓慢关闭,据我所知它不应该坚持使用keep-alive。 我在response.write()之后使用response.end()正确地关闭了我的响应。

以下是一些代码:

handleRequest = function (request, response) {
var body = '';
request.on('data', function (data) {
    body += data;
});
request.on('end', function () {
    // get some data from db...
    response.setHeader('Content-Type', 'application/json');
    response.write(result);
    response.end();
}

var server = http.createServer(handleRequest);
server.listen(8000);

process.on('SIGINT', function(){
    if (server != undefined) {
        console.log("Closing Server...");
        server.close(function (e) {
            if (e) {
                throw 'Error on closing server';
            } else {
                console.log("Server closed");
            }
        });
    }
});

1 个答案:

答案 0 :(得分:2)

请在发送数据后检查您是否已关闭回复。

<强>到Response.End()

如果这不起作用,您可以发布代码示例。