1

ソケット バッファを実際に読み取らずに読み取ることができる場合は、ピークオプションがあります (後続の読み取りに使用できるバイト数を知るため)。fcntl 呼び出しにはそのような代替手段があります。

ソケットからアプリケーションバッファにデータをコピーせずに、ソケットバッファから実際に読み取る方法があるかどうかを知りたいですか? 必要に応じてカーネルをパズルしてみましょう: 目的は、Web サーバーで負荷を作成するツールのようなものを設計するときに、実際のデータをコピーするのに時間を無駄にしないことです: 正しく行われるためには tcp 通信が必要ですが、データは必要ありません。受け取った。何かアドバイスをお願いします。

4

4 に答える 4

1

フラグを指定してrecvシステム コールを使用します。MSG_PEEK

于 2013-07-13T13:33:47.240 に答える
0

Kira によって提案されたヒントをざっと見てみると、/dev/null 宛先での splice() 呼び出しのアイデアが得られました。今のところやるべきです:-)

于 2013-07-14T21:06:30.777 に答える