gpt4 book ai didi

c - 使用 libevent evhttp 流式传输客户端请求正文?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:25:25 25 4
gpt4 key购买 nike

我想使用 libevent 和 evhttp 流式传输客户端 POST 请求正文。我找到了使用固定正文发送请求的示例,但我不确定如何设置带有正文的请求,我需要在不确定的时间段内不断编写和更新。 libevent 有可能做到这一点吗?我当前的代码基线看起来像这样:

#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;
}

如何使用流式正文发送 POST 请求?

最佳答案

LibEvent 为此提供了分块函数。可以看代码示例like thisthis one

我们可以看到in documentation那些函数 - 在 start()/end() 之间循环的 chunk():`

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()

关于c - 使用 libevent evhttp 流式传输客户端请求正文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42575694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com