重複の可能性:
node.JS HTTP サーバーの正常なシャットダウン
http
モジュールを使用してNode.jsに基本的なサーバーがあります。イベントがプログラムを閉じてサーバーを停止することはわかっていますが、サーバーを閉じるSIGINT
ために使用する方がきれいに思えserver.close([callback])
ます(ここSIGINT
のように、イベントでこれを行っています)。サーバーがリクエストを受信していない限り、これはうまく機能します。私の応答が次のように単純であっても、サーバーが要求を受け取るとすぐに:
res.writeHead(500, { "Content-Type": "text/plain" });
res.end();
からのコールバックserver.close()
は呼び出されず、詳しく調べてみると、0 ではなく 1 であることがわかりserver.connections
ます (たとえば、3 つの外部スクリプトを含む HTML ページを提供する場合、server.connections
4 になります)。
これらの接続が によって終了されないのはなぜres.end()
ですか? サーバーを正常に停止するにはどうすればよいですか? それとも、これは想像上の問題に対してやり過ぎなのでしょうか?