現在、次の方法でデータを同期的に受信しています
boost::array<char, 2000> buf;
while(true)
{
std::string dt;
size_t len = connect_sock->receive(boost::asio::buffer(buf, 3000));
std::copy(buf.begin(), buf.begin()+len, std::back_inserter(dt));
std::cout << dt;
}
私の質問は、このメソッドがバッファ サイズを超えるデータを受信するのに十分効率的かどうかです。それに応じてバッファサイズを調整できるように、利用可能なデータの量を正確に知る方法はありますか? (これは、応答全体が文字列変数に格納されている場合にのみ処理する必要がある要求に対して、サーバーが特定の応答を送信するためです。