我在通过asyc_read()填充的streambuf中读取时遇到了一些问题。当通过我在VS单步调试代码,我可以看到正确的数据在缓冲,但是当我去阅读它:用istream从boost basic_streambuf中读取问题
std::istream is = std::istream(&buffer_);
unsigned short type;
unsigned short size;
is >> type;
is >> size;
的类型和大小的变量保持在他们的初始化值。没有错误或任何东西被抛出。我真的难倒,为什么这是我见过类似的代码的情况下,其关闭数据读入的完全相同的方式变量
编辑: 所以这里是我的async_read代码,然后调用上面的代码:
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));
你好,迪。欢迎来到堆栈溢出!你能否发布一个简短的完整程序来证明你遇到的问题? –