【发布时间】:2011-08-04 09:25:23
【问题描述】:
我正在寻找一个具有某些特定需求的异步 http 客户端库:
- 一定有可能将其作为 glibmm 源实现
- 必须是单一威胁的
- 它必须具有 lgpl、bsd、mit 或类似许可证
为了将它作为 glibmm 源实现,必须能够访问它的文件描述符,创建一个 Glib::PollFD 对象,我应该很高兴。
我一直在看几个库,它们都有一些问题:
- libcurl,几乎可以做我想做的事,在多源 API 中它有一个 curl_multi_fdset 函数,它返回 fd_set。问题是我不知道如何将 fd_set 转换为一个或多个 Glib::PollFD
- Poco 有一个在 istream 中返回的 HttpSessionClient,但我无法找到解除阻塞读取的方法。
- Boost::Asio 需要使用 io_service 作为事件循环。
谁能克服我在这些树形库中看到的问题,或建议替代库?
【问题讨论】:
-
我会编写自己的库。
-
我最终将代码移植到了 boost::asio 和 cpp-netlib