简体   繁体   English

如何用pion发出异步HTTP请求?

[英]How to make asynchronous HTTP request with pion?

Similar to this question , but I'd like to communicate asynchronously using Pion . 这个问题相似,但是我想用Pion异步通讯。

I think I've figured out how to create a connection asynchronously: 我想我已经找到了如何异步创建连接的方法:

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

Now I'd like to send a request using pion::http::request , but all of its send methods are blocking. 现在,我想使用pion::http::request发送pion::http::request ,但是其所有发送方法都被阻止。 How do I send asynchronously? 如何异步发送?

There is a request_writer class in Pion. 在Pion中有一个request_writer类。 As I remember it has a send() member function to send data asynchronously. 我记得它有一个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();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM