12
Tôi đang sử dụng mã này để đọcSử dụng streambuf như đệm cho tăng ASIO đọc và viết
socket_.async_read_some(boost::asio::buffer(data_, max_length),
boost::bind(&session::handle_read, this,
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));
và điều này vì đã viết
boost::asio::async_write(socket_,
boost::asio::buffer(data_, bytes_transferred),
boost::bind(&session::handle_write, this,
boost::asio::placeholders::error));
nơi socket_ được ổ cắm, max_length là enum với giá trị 1024 và data_ là mảng char có độ dài max_length.
Nhưng tôi muốn thay thế bộ đệm mảng char bằng streambuf. Tôi đã thử
boost::asio::streambuf streamBuffer;
socket_.async_read_some(boost::asio::buffer(streamBuffer),
boost::bind(&session::handle_read, this,
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));
Nhưng không hoạt động. Tôi làm nó như thế nào ?