http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio/example/http/client/async_client.cppに HTTP クライアントの例があります。次のコードで説明されているように、最大バッファ サイズ を変更するのを手伝ってください(サイトからではなく、ライブラリでダウンロードされた例からのものです):
void handle_write_request(const boost::system::error_code& err)
{
if (!err)
{
// Read the response status line. The response_ streambuf will
// automatically grow to accommodate the entire line. The growth may be
// limited by <b>passing a maximum size to the streambuf constructor</b>.
boost::asio::async_read_until(socket_, response_, "\r\n",
boost::bind(&client::handle_read_status_line, this,
boost::asio::placeholders::error));
}
else
{
std::cout << "Error: " << err.message() << "\n";
}
}
そして、応答バッファーのコンストラクターは次のとおりです。
boost::asio::streambuf response_;
しかし、コンパイラは次のコードが無効であると言います:
boost::asio::streambuf response_(
1024
);
デフォルトのバッファは512
バイト サイズのようです。より大きなサイズが必要です。