sendfile() 이라는 Systemcall 에 대해 아시나요?
글쓴이: starsol / 작성시간: 금, 2009/12/11 - 6:06오후
ftp를 nonblocking으로 구성중, 패킷전송에 대해 어려움을 겪다가 찾아낸 시스템 콜 입니다.
기본적으로 두개의 파일 디스크립터간 파일 전송을 목표로 하는 명령어라고 하는데요,
덧붙여 소켓디스크립터로도 전송이 가능하다고 man 페이지에 나와있습니다.
그런데, Server쪽에서 sendfile을 이용하여 클라이언트 소켓디스크립터로 파일전송을 하면,
클라이언트쪽에서는 어떻게 받는지 궁금합니다.
테스트해봤을때, 서버에서는 성공적으로 파일을 보냈다고 하고, 리턴값으로 보낸 파일의 크기가 정상적으로 나왔습니다.
클라이언트에서는 도저히 어떻게 받아야하는지 모르겠네요.
그냥 자연스럽게 클라이언트 파일이 있는 폴더에, 서버에서 보낸파일의 이름과 동일하게 생성되는건가요?
아니면 클라이언트쪽에서 sendfile에 대응되는 어떠한 시스템콜을 사용하여 받아야 하는건가요?
우리나라부터 외국사이트까지 검색을 꽤 많이 해봤는데 답을찾기가 쉽지 않네요.
고수님들의 가르침 부탁 드립니다.^^
Forums:
받는쪽에서는 그냥
받는쪽에서는 그냥 read() fread() 등으로 읽으면 됩니다. 대응되는 함수가 있는건 아닙니다.
--
익스펙토 페트로눔
--
익스펙토 페트로눔
감사합니다!
친절한 답변 정말 감사합니다~^^
댓글 달기