Http server 中有个函数evhttp_set_timeout 设置超时时间,什么情况会触发这个超时时间,如果触发了,会回调哪个函数,我怎么设置这个超时回调
5条回答 默认 最新
关注evhttp_set_timeout 函数用于设置 HTTP 请求的超时时间。在指定的超时时间内,如果请求还没有完成,就会触发超时事件。超时事件会调用回调函数。
你可以使用 evhttp_set_gencb 函数设置回调函数。这个函数有两个参数:一个 struct evhttp_request * 类型的指针,表示请求对象,另一个是一个回调函数,它是一个指向 void (*)(struct evhttp_request *, void *) 类型的函数指针。
你可以使用下面的代码设置回调函数:
void timeout_cb(struct evhttp_request *req, void *arg) { // 超时处理代码 } ... evhttp_set_gencb(http_server, timeout_cb, NULL);在超时时间到达时,将会调用 timeout_cb 函数。可以在这个回调函数中执行超时处理逻辑。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报