2

可能重复:
node.JS HTTP 服务器的正常关闭

我在 Node.js 中有一个使用该http模块的基本服务器。虽然我知道一个SIGINT事件会关闭程序并停止服务器,但使用它来关闭服务器似乎更干净server.close([callback])(我在SIGINT事件上这样做,类似于这里)。只要服务器没有收到任何请求,它就可以很好地工作。一旦服务器收到请求,即使我的响应很简单:

res.writeHead(500, { "Content-Type": "text/plain" });
res.end();

来自server.close()never 的回调被调用,仔细检查发现它server.connections是 1,而不是 0。(例如,如果我让它提供一个带有三个外部脚本的 HTML 页面,那么server.connections它将是 4。)

为什么这些连接不被终止res.end()?我可以做些什么来优雅地停止我的服务器?或者这只是对想象中的问题的矫枉过正?

4

0 回答 0