我有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");
}
});
}
});
答案 0 :(得分:2)
请在发送数据后检查您是否已关闭回复。
<强>到Response.End()强>
如果这不起作用,您可以发布代码示例。