libevent写的http server设置timeout怎么不起作用?正确的该怎么做?

officercat 2015-11-28 01:36:19
base = event_base_new();
http = evhttp_new(base);
evhttp_set_cb(http, "/test", http_handle, NULL);
evhttp_set_timeout(http, 10);

我理解就是如果这个http_handle执行超过10秒还没完成,服务端自动关闭http_handle,然后返回一个超时状态给客户端。

然后我是通过在http_handle里用sleep(100)来模拟响应时间过长的情况的。

结果就是客户端一直在等待服务器返回,等了100秒,超时设置没起作用。

是这么设置超时不对?
还是sleep影响了超时判定?

该怎么做?
...全文
719 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
officercat 2016-01-29
  • 打赏
  • 举报
回复
一直没有答案,我也没找到答案。 结贴了,如果有人看到有想法,欢迎私信我。

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧