在linux 2.6中posix aio是否支持套接字文件描述符?

时间:2010-10-13 07:12:50

标签: c sockets posix aio

我在google中找到了这样的问题并得到了不同的答案。我无法确定linux 2.6中的posix aio是否支持套接字文件描述符。

如果它支持tcp套接字, aiocb.aio_offset = 0 相对于来自tcp套接字fd的第一个字节

如果没有,linux中的任何异步io库是否支持socket fd?

1 个答案:

答案 0 :(得分:0)

上面的评论指出aio不支持套接字。你问可能的替代方案。

显而易见的是:

  • 使用一个事件驱动的编程模型,可以使用poll(2)手工生成,也可以通过Niels Provos的库来生成“libevent”
  • 使用线程

我通常更喜欢事件驱动的做事方式,并且通常使用libevent,这在此处记录:http://libevent.org/

但请记住,事件驱动的编程与您在程序组织中习惯的编程有很大不同。线程在概念上是相似的,但在处理大量套接字时效率通常较低。