Получить некоторые данные на розетке.
template<
    typename MutableBufferSequence>
std::size_t receive(
    const MutableBufferSequence & buffers);
Эта функция используется для получения данных на потоковом сокете. Функция вызов будет блокироваться до тех пор, пока один или несколько байт данных не будет получен успешно, или до тех пор, пока не произойдет ошибка.
- buffers
 
Один или несколько буферов, в которые будут получены данные.
 
 
Количество полученных байтов.
- boost::system::system_error
 
Попал на провал. Код ошибки boost::asio::error::eof указывает, что соединение было закрыто пэром.
 
 
Полученная операция не может получить все запрашиваемое количество байтов. Рассмотрим использование функции read, если вам нужно убедиться, что запрашиваемое количество данных читается до завершения операции блокировки.
Чтобы получить в один буфер данных, используйте функцию buffer следующим образом:
socket.receive(boost::asio::buffer(data, size));
См. buffer документацию для информации о получении в нескольких буферах за один ход, и как использовать ее с массивами, увеличить::array или std::vector.