大きなファイルを送信する必要があるWebサーバー(C)をプログラミングしています。私の質問は次のとおりです。2 つのシステムコールの主な違いは何ですか:write
とsendfile
. sendfile
ソケットシステムバッファのサイズに依存しますか? write
私が要求したよりも書き込みが少ないことが多いことに気付きました。
たとえば、1 つのファイルに対して多くの要求があった場合: ファイルを開いてメモリにコピーして使用する必要がありますか?それともクライアントごとwrite
に行うことができますか?sendfile
すべての回答に感謝します。