use*_*946 7 linux splice sendfile
sendfile()可用于将数据从"文件"描述符传输到"套接字"描述符,以便从机器A到机器B获取数据.是否可以将接收端的数据从"套接字"描述符获取到文件具有类似的零拷贝语义?我认为sendfile()这里没有帮助,因为sendfile()需要数据源是"页面/缓冲区"缓存.我的理解是否正确?splice()在这种情况下可以帮忙吗?
Mat*_*Mat 13
你对此的限制是正确的sendfile.是的,splice可以提供帮助,但这并非易事:splice要求至少有一个源文件描述符或目标文件描述符是管道.所以你不能直接splice从套接字到普通的文件描述符.
从概念上讲,你可以做的是:
重复上一步,直到读取所有数据.
使用sendfile()和splice()在Linux中进行零复制具有此技术的实现.
| 归档时间: |
|
| 查看次数: |
7413 次 |
| 最近记录: |