2017-05-17 11 views
0

これはシンプルなステートレスサーバーであるとします。TCPはサーバーを最初にクローズします。クライアントは最初に接続をクローズします

  1. 要求を処理し、応答を書き戻した後、サーバーの近くに接続した場合、CLOSE_WAIT状態であまりにも多くの接続が存在しなければなりません。

  2. クライアントが最初に接続を閉じるようにすると、クライアントが閉じないと、サーバー側にアクティブな接続が多すぎる可能性があります。

この状況をどのように処理するのですか?私は1か2か他を使うべきですか?

答えて

0

リクエストを処理してレスポンスを書き戻した後にサーバを接続すると、CLOSE_WAITステータスで接続が多すぎる必要があります。

いいえ、ただし、TIME_WAIT状態が多数あります。

クライアントが最初に接続を閉じる場合、クライアントが接続を切断しないと、サーバー側にアクティブな接続が多すぎる可能性があります。

したがって、サーバーは読み取りタイムアウトを使用する必要があります。

一般に、サーバーは最初のクローズを受け取るサーバーであることが最適です。そうすれば、TIME_WAITの状態はサーバーではなくクライアントで積み重なり、クライアントは多くの接続を持たないので、問題はありません。

関連する問題