2013-02-05 2 views
1

C에서 libev를 사용하여 작은 웹 서버를 만들 때 원자로를 차단하지 않고 파일을 서비스하는 가장 좋은 전략은 무엇입니까 (오픈, 준비, 소켓에 쓰기)?libev 웹 서버 파일 읽기

나는 한 번에 몇 블록을 읽도록 몇 가지 권장 사항을 가지고 있지만 이것이 올바른 접근 방법이 될지 확신하지 못합니다.

감사합니다,

답변

1

나는 한 번에 몇 블록을 읽고 몇 가지 권장 사항을 통해 가지고 있지만 나는 이것이 올바른 방법이 될 것입니다 확실하지 않다.

그래, 이것은 꽤 표준적인 접근법입니다.

Linux를 사용하는 경우 sendfile()을 사용하는 것이 좋습니다. 이렇게하면 블록 단위로 파일을 읽은 다음 소켓을 통해 전송하는 버퍼를 유지할 필요가 없습니다.