8
boost::asio::ip::tcp::socket
のread_some
/write_some
メンバー関数を呼び出して、boost::asio::read
/boost::asio::write
フリー関数を呼び出す方法との違いは何ですか?Boost :: Asio読み込み/書き込み操作
:
は、他の上で1つを使用してのいずれかの利点がありますか?
なぜ両方ともライブラリに含まれていますか?
boost::asio::ip::tcp::socket
のread_some
/write_some
メンバー関数を呼び出して、boost::asio::read
/boost::asio::write
フリー関数を呼び出す方法との違いは何ですか?Boost :: Asio読み込み/書き込み操作
:
は、他の上で1つを使用してのいずれかの利点がありますか?
なぜ両方ともライブラリに含まれていますか?
read_someとwrite_someは、1バイトであってもすぐに返されます。そのため、すべてのデータを確実に取得したい場合はループする必要がありますが、これが必要な場合もあります。
フリー関数は、read_someおよびwrite_someの周りのラッパーであり、オーバーロードによって異なる終了条件があります。通常、バッファが完全に転送されるのを待ちます(エラーが発生するか、一部のオーバーロードで明示的な完了条件が発生する)
なぜ両方を含むのですか? –
彼らは異なったことをします(異なる終了条件)。私は私の答えを少し編集しました、うまくいけば、今はっきりしています。 – bdonlan