我想用libevent和evhttp流式传输客户帖子请求主体。我发现了用固定物体发送请求的示例,但是不确定如何用身体设置一个请求,我需要在不确定的时期内连续写和更新。有可能这样做吗?我目前的代码基线看起来像这样:
#include <evhttp.h>
#include <event2/event.h>
#include <event2/http.h>
void http_request_done(struct evhttp_request *req, void *arg) {
printf("DONE!n");
}
int main(int argc, char **argv) {
struct event_base *base = event_base_new();
struct evhttp_connection *conn = evhttp_connection_base_new(base, NULL, "127.0.0.1", 3000);
struct evhttp_request *req = evhttp_request_new(http_request_done, NULL);
evhttp_make_request(conn, req, EVHTTP_REQ_POST, "/");
evhttp_connection_set_timeout(req->evcon, 600);
event_base_loop(base, EVLOOP_NONBLOCK);
event_base_dispatch(base);
return 0;
}
我该如何发送带有流体的邮政请求?
libevent为此构成了块功能。您可以看到这样的代码示例,这是一个
我们可以在文档中看到这些函数-Chunk()在start()/end()之间的循环中:`
evhttp_send_reply_start (struct evhttp_request *req)
evhttp_send_reply_chunk (struct evhttp_request *req,struct evbuffer *databuf)
evhttp_send_reply_end (struct evhttp_request *req)`
这些是用于发送的,如果您需要获得传入的数据,则有evhttp_request_set_chunked_cb()