私が理解しているように、バックログは接続キューのサイズを決定します。その時点でこのサイズを超える追加のリクエストはすべて破棄されます(このステートメントは正しいですか??)。
今、私は非常に単純なプログラムserver.cを持っています
socket()
bind()
listen(..., 5)
while(1)
{
accept()
read()
write()
sleep(3)
close()
}
今、私はこのサーバーに接続するために一度に8つのクライアントを起動します。驚いたことに、サーバーは8つのクライアントすべてにサービスを提供しますが、代わりに5つのクライアントのみをキューに入れ、残りの3つのクライアントの要求は拒否する必要があります。もう1つの興味深い点は、このバックログ値を0として設定しても、結果は同じであるということです。次に、listen()呼び出しにコメントを付けてみましたが、これにより8つのクライアント接続すべてが拒否されます。
誰かがこれに関する入力を提供できますか?