Как сделать асинхронный HTTP-запрос с pion?

Похожий на этот вопрос, но я хотел бы общаться асинхронно, используя пион.

Я думаю, что я понял, как создать соединение асинхронно:

pion::tcp::connection_ptr connection(new pion::tcp::connection(_io_service));
connection->async_connect(ep,
boost::bind(&http_client::after_connect,
this,
connection,
_1));

Теперь я хотел бы отправить запрос, используя pion::http::request, но все его методы отправки блокируются. Как я могу отправить асинхронно?

0

Решение

Eсть request_writer класс в пион. Насколько я помню это имеет send() функция-член для отправки данных асинхронно.

// create
auto writer = pion::http::request_writer::create(connection);

// set data
writer->write(11);
writer->write(some_buffer, bufer_size);

// send data
writer->send();
1

Другие решения


По вопросам рекламы [email protected]