【问题标题】:Does posix aio in linux 2.6 support socket file descriptor?linux 2.6中的posix aio是否支持socket文件描述符?
【发布时间】:2011-04-24 16:53:32
【问题描述】:

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

如果它支持 tcp 套接字,那么 aiocb.aio_offset=0 是否相对于从 tcp 套接字 fd 读取的第一个字节

如果不支持,linux中的异步io库是否支持socket fd?

【问题讨论】:

标签: c sockets posix aio


【解决方案1】:

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

显而易见的是:

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

我一般更喜欢事件驱动的做事方式,一般使用libevent,记录在这里:http://libevent.org/

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

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 2021-01-09
    相关资源
    最近更新 更多