可能重复:
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()
?我可以做些什么来优雅地停止我的服务器?或者这只是对想象中的问题的矫枉过正?