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

标签 c sockets posix aio

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

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

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

最佳答案

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

最明显的是:

  • 使用事件驱动的编程模型,可以使用 poll(2) 或您拥有的工具手动生成,也可以通过像 Niels Provos 的“libevent”这样的库生成
  • 使用线程

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

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

关于c - linux 2.6中的posix aio是否支持套接字文件描述符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3921491/

相关文章:

java - 无法在android中启动网络服务器服务

c - 遍历C中的目录

gcc - "int64var = int32var * int32var"中的计算没有像预期的那样溢出。为什么?

c - 在 Mac OS X 上,如何将 POSIX fd 转换为 FILE*?

c - 为什么我的 getservbyname 函数总是返回 NULL?

c - 在 esp8266 上发送多播?

c - C 函数的参数是相反的

c++ - 比较当前前景窗口句柄

c++ - 什么时候关闭 CAsyncSocket 是安全的?

c - 如何在结构体数组中设置常量值?