跨平台方式从单线程中的多个连接读取数据

时间:2011-11-12 13:14:52

标签: tcp network-programming cross-platform epoll

我的应用程序需要同时下载多个网页,我知道这可以在单个线程中实现,因为在linux中使用epoll编程经验。目前我使用CURL与HTTP进行交互,但......

更新:发现了卷曲的MULTI界面:http://curl.haxx.se/libcurl/c/libcurl-multi.html我认为问题已解决( - ;

1 个答案:

答案 0 :(得分:1)

跨平台方式是使用POSIX指定的selectpoll

或者,更有效率,您可以使用库。图书馆的主要优点是,通过采用特定于系统的机制,它可以比select更有效地做事。

例如,一个不错的网络库可能会使用:

    Linux上的
  • epoll
  • kqueue在FreeBSD上
  • 关于so​​laris的
  • /dev/poll
  • AIX上的
  • pollset
  • Win32上的
  • iocp

我认为您可以将asio用于C ++,或libevent用于C。