我使用http
模块在Node.js中有一个基本服务器。虽然我知道SIGINT
事件将关闭程序并停止服务器,但使用server.close([callback])
关闭服务器似乎更简洁(我在SIGINT
事件上执行此操作,类似于{ {3}})。只要服务器没有收到任何请求,这就可以很好地工作。一旦服务器收到请求,即使我的响应很简单:
res.writeHead(500, { "Content-Type": "text/plain" });
res.end();
来自server.close()
的回调永远不会被调用,仔细检查会发现server.connections
是1,而不是0.(如果我有一个带有三个外部脚本的HTML页面,例如,{{ 1}}将是4。)
为什么server.connections
不会终止这些连接?我该怎么做才能优雅地停止我的服务器?或者这对于一个想象的问题来说是否有点过分?