IO 멀티플렉싱: 블로킹 소켓에서 epoll까지의 진화
블로킹 I/O의 근본적 한계
서버가 클라이언트 연결을 받고 데이터를 읽는 가장 단순한 코드는 다음과 같다.
int sock = socket(AF_INET, SOCK_STREAM, 0);
bind(sock, ...);
listen(sock, 5);
while (1) {
int client = accept(sock, ...); // 연결 대기 (블로킹)
char buf[1024];
int n = read(client, buf, sizeof(buf)); // 데이터 대기 (블로킹)
p ...
9월 22일 03:03에 게시됨