デフォルト値で TCP 接続を受け入れ、SYN、ACK が 64K のウィンドウ サイズと 7 のウィンドウ スケール ファクタで送信されていることを観察します。
3 ウェイ ハンドシェイクが完了し、アプリの制御パケットを交換したら、setsockopt() を使用して SO_RCVBUF を 20K に設定します。私の質問は、この場合、広告されたウィンドウがいつ更新されるかです。sb_hiwat が小さい値に変更されたので、すぐにウィンドウ更新パケットが表示されるはずではありませんか? 私が見ているのは、アドバタイズされたウィンドウが徐々に減少し、7MB から 20K に達するまでに 4 秒かかります。