4

Linux API send または sendto でデータを送信する前に、現在の TCP 接続の TCP ウィンドウ サイズを取得できる Linux API はありますか?

これが必要な理由は、現在の TCP ウィンドウ サイズが送信する必要があるデータの長さよりも小さい場合、CPU を手動で解放して、他のスレッドまたはプロセスで別のことを実行できるからです。

4

1 に答える 1

0

もっと良い方法があるかもしれませんが、実際には a の使用だけがRAW SOCKET頭に浮かびます。

windowトランスポート層でデータを処理すると、TCP ヘッダー (および16 ビット フィールド)にアクセスできます。

対応するのは、あなたとピアの間の TCP スタックを処理する必要があることです。これは少しクレイジーで面倒です。

これは、ホストに SYN を送信するために必要なことの例です。最後のループを避けてください。そうしないと、ピアに対して syn-flood 攻撃が開始されます :)

TCP と RAW ソケット

于 2013-01-21T09:49:08.927 に答える