2

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

编辑

目前我正在使用chromes高级rest客户端进行测试,在收到响应后发送一个请求结果并缓慢关闭,据我所知它不应该卡在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");
            }
        });
    }
});
4

1 回答 1

2

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

响应.end()

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

于 2013-07-11T16:53:30.767 回答