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