write
和sendfile
。 sendfile
是否取决于套接字系统缓冲区的大小?我注意到write
经常写的比我要求的少。
例如,如果对一个文件有很多请求:我应该打开它,复制到内存中并使用write
,或者我可以为每个客户端执行sendfile
吗?
提前感谢所有答案。
答案 0 :(得分:6)
请阅读sendfile
(2)。
sendfile()
在一个文件描述符和另一个文件描述符之间复制数据。由于此复制是在内核中完成的,因此sendfile()
比read
(2)和write
(2)的组合更有效,这需要与用户空间之间传输数据。
关于返回值,write
/ read
/ senfile
个调用中的任何一个都不能保证写入/读取/发送整个数据块