
SwooleServer::sendfile 메소드는 파일의 일부분만 전송하는 기능을 제공하지 않습니다. 하지만, sendfile 메소드의 옵션인 offset과 length를 사용하여 파일의 일부분만 전송할 수 있습니다.
예를 들어, 10MB의 파일을 1MB씩 10번 전송하려면, 다음과 같이 사용할 수 있습니다.
#hostingforum.kr
php
$server->sendfile($fd, 'example.txt', 0, 1024 * 1024);
$server->sendfile($fd, 'example.txt', 1024 * 1024, 1024 * 1024);
$server->sendfile($fd, 'example.txt', 2 * 1024 * 1024, 1024 * 1024);
// ...
sendfile 메소드의 성능은 파일의 크기에 따라 달라집니다. 큰 파일의 경우 sendfile 메소드를 사용하는 것이 효율적입니다. 왜냐하면 sendfile 메소드는 운영체제의 sendfile 시스템 콜을 사용하여 파일을 전송하므로, 성능이 향상됩니다.
그러나, sendfile 메소드는 일부 운영체제에서 지원하지 않을 수 있습니다. 따라서, sendfile 메소드를 사용하기 전에 운영체제의 지원 여부를 확인해야 합니다.
또한, sendfile 메소드는 파일의 일부분만 전송할 수 있으므로, 파일의 크기가 큰 경우 sendfile 메소드를 사용하여 파일을 여러 번 전송하는 것이 효율적입니다.
2025-07-30 21:29