sto usando questo codice per la lettura diUsa streambuf come buffer per la spinta asio leggere e scrivere
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));
e questo per la scrittura
boost::asio::async_write(socket_,
boost::asio::buffer(data_, bytes_transferred),
boost::bind(&session::handle_write, this,
boost::asio::placeholders::error));
dove socket_ è presa, max_length è enum con un valore 1024 e data_ è un array di caratteri con lunghezza di max_length.
Ma voglio sostituire il buffer di array di caratteri con streambuf. Ho provato
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));
Ma non funziona. Come posso farlo ?