与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
发送请求,但是其所有发送方法都处于阻塞状态。如何异步发送? 最佳答案
在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();