Однако Async_read_some не имеет перегрузки для Boost :: asio :: Streambuf . Как я могу решить эту проблему? < /P>
Вот пример кода, который мне нужно выполнить. Обратите внимание, что read_some можно назвать несколько раз. < /P>
Код: Выделить всё
class io
{
//...
public:
void read_until()
{
boost::asio::async_read_until(m_socket, m_buffer, "\n",
[this](const boost::system::error_code& ec, std::size_t bytes_transferred)
{
read_some();
});
}
void read_some()
{
// I need use async_read_some here into m_buffer
// ...
// read_some() can be called again from completion handler
}
private:
boost::asio::streambuf m_buffer;
boost::asio::ip::tcp::socket m_socket;
};
Подробнее здесь: https://stackoverflow.com/questions/796 ... ame-buffer