在我正在开发的应用程序中,我在Linux上使用 splice
进行套接字到套接字的数据传输。
splice
或等效解决方案? splice
¹+ sendfile
¹模仿套接字到套接字的数据memmap
? ¹两者在Windows上都以不同的名称存在,我不记得了。
更新
您可以在Linux上看到
splice
与用户空间缓冲区的性能改进。DF
,DR
,F
,MF
,MR
是我在不同隧道模式下的应用程序,NX
是NGINX Web服务器-p+t
使用Linux系统调用splice
+p-t
使用带有用户空间缓冲区+p+t
使用具有用户空间缓冲区和多个OS线程的可移植实现最佳答案
OpenBSD具有sosplice
和somove
:http://www.openbsd.org/cgi-bin/man.cgi?query=sosplice
关于sockets - 其他操作系统是否实现Linux系统调用接头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12230316/