Один или несколько буферов, в которые будут поступать данные. Хотя объект буферов может быть скопирован по мере необходимости, право собственности на базовые блоки памяти сохраняется абонентом, который должен гарантировать, что они остаются действительными до тех пор, пока обработчик не будет вызван.
in_flags
Флаги, указывающие, как должен быть сделан звонок.
out_flags
После завершения асинхронной операции, содержит флаги, связанные с полученными данными. Например, если бит<socket_base::message_end_of_record>установлен, то полученные данные обозначают конец записи. Абонент должен гарантировать, что указанная переменная остается действительной до тех пор, пока обработчик не будет вызван.
handler
Обработчик должен быть вызван, когда операция приема завершится. Копии будут сделаны из обработчика по мере необходимости. Функциональная подпись обработчика должна быть:
voidhandler(constboost::system::error_code&error,// Result of operation.std::size_tbytes_transferred// Number of bytes received.);
Независимо от того, выполняется ли асинхронная операция немедленно или нет, обработчик не будет вызываться из этой функции. Запрос обработчика будет выполнен способом, эквивалентным использованию<boost::asio::io_service::post()>.
См. документацию<buffer>для информации о приеме в несколько буферов за один ход, и как использовать ее с массивами, бустерами::array или std::vector.
Статья basic_seq_packet_socket::async_receive (2 of 2 overloads) раздела Boost.Asio basic_seq_packet_socket::async_receive может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.