개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.30 21:28

SwooleServer::sendfile 사용 방법에 대하여 질문합니다.

목록
  • 인덱스튜너 2일 전 2025.07.30 21:28
  • 6
    1
저는 SwooleServer::sendfile 메소드를 사용하여 파일을 전송할 때, 파일의 일부분만 전송하는 방법에 대해 궁금합니다.

sendfile 메소드는 파일의 일부분만 전송하는 기능을 제공하는지 궁금합니다. 만약 제공한다면, 어떻게 사용해야 하는지 알려주세요.

또한, sendfile 메소드의 성능에 대해 궁금합니다. 파일의 크기가 큰 경우, sendfile 메소드를 사용하는 것이 효율적인지 궁금합니다.

예를 들어, 10MB의 파일을 1MB씩 10번 전송하는 방법은 어떻게 되는지 알려주세요.

감사합니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 40,686건 / 6 페이지

검색

게시물 검색