如何使用pion进行异步HTTP请求?

时间:2015-07-03 19:10:26

标签: c++ http asynchronous boost-asio pion-net

this question类似,但我想使用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发送请求,但是它的所有发送方法都是阻塞的。我如何异步发送?

1 个答案:

答案 0 :(得分:1)

Pion有一个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();