linux - Linux 中有异步版本的 sendfile 吗?

标签 linux sockets asynchronous sendfile aio

io_getevents 通知机制乍看之下功能强大,所以我想要一些可以与它一起使用的东西。我只是找不到任何东西。在 Windows 上,这很简单:只有 TransmitFile,它可以异步(重叠)工作,并且如果需要,还可以使用一些通知机制(IOCP、事件)。 Linux 上一定有一些等价物,对吧?或者,在某些情况下提出我的问题,我将如何在 Linux 上创建一个高效的文件服务器?

最佳答案

唉,在 Linux 上没有什么容易的事情,几乎任何事情都可能在错误的情况下阻塞(even io_submit)。在回答您的问题时(在标题和正文中):

他们是休息...

future (2020+)解决方案

有人建议 future 的某些 Linux 内核(晚于 5.5,在撰写本文时已经达到 5.5-rc7)基本上可以执行 asynchronous sendfile via io_uring if io_uring gains support for splice()。 ...

关于linux - Linux 中有异步版本的 sendfile 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48033320/

相关文章:

c - 在 Mac OS X Mountain Lion 上运行 Server-Client c 程序时出现问题

ios - UITableView 无法在首次启动时从核心数据中获取

linux - 如何在 .shell 脚本文件中传递参数

linux - 混淆了 shell 脚本从文件中读取 CSV 数据

sockets - 每个人都必须同意 SO_REUSEADDR 吗?

java - 如何使用 ServerSocket 通过 TCP 找出连接到服务器的客户端数量及其 IP(详细信息)?

c++ - mmap + madvise 真的是异步 I/O 的一种形式吗?

c# - 实现返回 Task<T> 的方法的正确方法

c++ - 在Linux C++中使用pthread在特定时间间隔调用函数

linux - 从 Jenkins 在后台启动 shell 脚本的简洁方法