asyc_read()で埋められているstreambufから読み込みに問題があります。 VSの私のコードをステップ実行するとき、私は正しいデータがバッファ内にあることがわかりますが、私はそれを読むために行くとき:ブーストbasic_streambufからistreamで読み込み中に問題が発生しました
std::istream is = std::istream(&buffer_);
unsigned short type;
unsigned short size;
is >> type;
is >> size;
種類とサイズ変数は初期化された値のままです。エラーも何もスローされません。私は本当にこれがまったく同じように変数にオフデータを読み込み、私は同様のコードを見てきたケースである理由として困惑
EDIT:
: はので、ここで、その後、上記のコードを呼び出して、私のasync_readコードです確かに、ストリーム(if(is) {...}
)のステータスを確認します
type
が初期化された値に残っている場合
boost::asio::async_read(socket_,
buffer_,
boost::asio::transfer_at_least(4),
boost::bind(&Session::handleReadBody, this,
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));
こんにちは。スタックオーバーフローへようこそ!問題があることを示す最小限の完全なプログラムを投稿してください。 –