質問
boost :: asio :: ip :: tcp :: socket
の read_some
/ write_some
メンバー関数の呼び出しの違いは何ですか boost :: asio :: read
/ boost :: asio :: write
無料関数を呼び出しますか?
より具体的に:
一方を他方よりも使用することの利点はありますか?
なぜ両方がライブラリに含まれているのですか?
解決
read_someとwrite_someは、1バイトでも転送されるとすぐに戻る場合があります。そのため、すべてのデータを確実に取得したい場合はループする必要がありますが、これが必要な場合があります。
フリー関数はread_someとwrite_someのラッパーであり、オーバーロードに応じて異なる終了条件を持ちます。通常、バッファが完全に転送されるまで待機します(またはエラーが発生するか、一部のオーバーロードでは明示的な完了条件が発生します)
所属していません StackOverflow