跪求各位指点下linux 下AIO异步通信

qq136116638 2011-07-18 09:10:08
公司要求做个高并发的服务器,select和epllo都用过了。现在打算尝试下AIO,可是这个玩意网上找来找去,资料都写的很简单,要不就是一笔带过了,实在想知道用aio的一个流程是怎么样的,比如服务器端是不是建立,绑定端口后要不要侦听着,客户端是不是一定要异步写入,而且对于一些这个信号处理的代码(就是aio里面信号处理的一部分):
void aio_completion_handler( int signo, siginfo_t *info, void *context )
{
struct aiocb *req;

if (info->si_signo == SIGIO) {
req = (struct aiocb *)info->si_value.sival_ptr;

if (aio_error( req ) == 0) {

ret = aio_return( req );
}
}
return;
}
首先ret没有声明,而且得出来这个ret的值有什么用处呢。。。也没搞明白是返回到哪去,
先谢谢了。。。。。
...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nickowen 2011-07-20
  • 打赏
  • 举报
回复
不知道LZ你写的select和epllo的比较.
能否发下具体测试参数看下
qq136116638 2011-07-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 coding_hello 的回复:]

据说linux他爸也是主张用epoll,不用aio~
[/Quote]

现在的问题是需要用aio来证明到底行不行,不然你说不行,别人不相信啊,没办法
野男孩 2011-07-20
  • 打赏
  • 举报
回复
据说linux他爸也是主张用epoll,不用aio~
qq136116638 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 qq136116638 的回复:]
公司要求做个高并发的服务器,select和epllo都用过了。现在打算尝试下AIO,可是这个玩意网上找来找去,资料都写的很简单,要不就是一笔带过了,实在想知道用aio的一个流程是怎么样的,比如服务器端是不是建立,绑定端口后要不要侦听着,客户端是不是一定要异步写入,而且对于一些这个信号处理的代码(就是aio里面信号处理的一部分):
void aio_completion_handler( int ……
[/Quote]
谢谢你的回答。
epoll已经用过了。主要是现在需要用aio来测试下,不实际测试下说服不了人啊
jernymy 2011-07-18
  • 打赏
  • 举报
回复
不了解,帮顶
ayw215 2011-07-18
  • 打赏
  • 举报
回复
epoll就足够了,aio貌似性能没epoll好
你去看看nginx的代码把,里面有aio的封装,但是没怎么用,也有epoll的代码

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧