1

ソケットを介して多数の小さなバッファーを送信する必要があります。そのために、ASIO ライブラリのスキャッター ギャザー機能を使用することを考えています。スキャッター ギャザーは、各バッファーを個別に送信するよりも効率的であり、私の場合は完了ハンドラーのロジックを簡素化すると思います。

一部のバッファは空になる可能性があります。バッファが空の場合、それをバッファ シーケンスに追加してもよいですか、それともスキップする必要がありますか?

クラスがありconst_bufferます。空のバッファーを作成するデフォルト コンストラクターと、メモリ範囲からバッファーを作成する 2 つの引数のコンストラクターがあります。2 番目のコンストラクターを使用して空のバッファーを作成してもよろしいですか?

4

1 に答える 1

2

はい、もちろん!あなたの質問を理解しているように、空のバッファを送信する場合があります。これは、TCP ヘッダーのみを送信するのと同じです ( keep-aliveを送信すると見なされます)。これは、TCP/UDP の場合はまったく問題ありません...

送信するものが既にある場合は、空のバッファをスキップするだけでかまいません...かどうかは問題ではありません-最終パケットには2つのバッファ間にギャップがありません。

于 2013-01-24T08:01:14.167 に答える