在主动Web服务器中接受连接的常规方式使用异步IO

问题描述

| 我目前正在Linux上探索aio,以将其用于实现Web服务器。正如我已经发现的,没有太多资源可以详细介绍aio的用法。 问题是-在使用aio的单线程应用程序中接受客户端连接的常规方式是什么? (尽可能减少阻塞) 理想情况下,我可以看到aio_accept操作发送一条通知(在我的情况下为回调函数调用),该连接已建立,并且在处理程序中立即调用aio_read。但没有这样的电话:( 谢谢!     

解决方法

我认为aio不能在预接受套接字上工作。 您可能要选择它们,或者在准备好时获得SIGIO。 [编辑] 手册页特别指出:\“在其上打开文件的设备必须允许搜索操作。即,在诸如lseek的终端之类的设备上无法使用任何AIO操作                呼叫会导致错误。\“ 套接字不允许执行搜索操作,因此即使接受后的套接字也似乎不走运。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...