これはシンプルなステートレスサーバーであるとします。TCPはサーバーを最初にクローズします。クライアントは最初に接続をクローズします
要求を処理し、応答を書き戻した後、サーバーの近くに接続した場合、
CLOSE_WAIT
状態であまりにも多くの接続が存在しなければなりません。クライアントが最初に接続を閉じるようにすると、クライアントが閉じないと、サーバー側にアクティブな接続が多すぎる可能性があります。
この状況をどのように処理するのですか?私は1か2か他を使うべきですか?
これはシンプルなステートレスサーバーであるとします。TCPはサーバーを最初にクローズします。クライアントは最初に接続をクローズします
要求を処理し、応答を書き戻した後、サーバーの近くに接続した場合、CLOSE_WAIT
状態であまりにも多くの接続が存在しなければなりません。
クライアントが最初に接続を閉じるようにすると、クライアントが閉じないと、サーバー側にアクティブな接続が多すぎる可能性があります。
この状況をどのように処理するのですか?私は1か2か他を使うべきですか?
リクエストを処理してレスポンスを書き戻した後にサーバを接続すると、CLOSE_WAITステータスで接続が多すぎる必要があります。
いいえ、ただし、TIME_WAIT状態が多数あります。
クライアントが最初に接続を閉じる場合、クライアントが接続を切断しないと、サーバー側にアクティブな接続が多すぎる可能性があります。
したがって、サーバーは読み取りタイムアウトを使用する必要があります。
一般に、サーバーは最初のクローズを受け取るサーバーであることが最適です。そうすれば、TIME_WAITの状態はサーバーではなくクライアントで積み重なり、クライアントは多くの接続を持たないので、問題はありません。