2012-04-30 9 views
1

Cで、tcp/ip(〜6.5mo)のデータをたくさん送信しなければなりません。 私は "classic" send()を使用しています。 あなたは、1つの部分で送信するデータの全体サイズを関数に渡すことをお勧めしますか?またはチャンクの方法(たとえば64koのスライス)を好むべきですか?チャンクでデータを送信する

答えて

5

サイズを返し、戻り値に応じてバッファの残りの部分でもう一度呼び出すだけです。

ロジックを処理し、OSに送信ロジックを処理させます。

+0

とにかく 'send()'への一回の呼び出しで6Mbを渡すことはできないと考えているので、OSにチャンクを処理させてください。できるだけ多くのデータを渡し、 'send()'が実際に受け入れた量を伝え、残っているものを再送し、すべてのデータが終了するまで繰り返す。 –

関連する問題