더북(TheBook)

표 3-5와 같이 윈도 서버의 커널 함수 호출이 더 적습니다. 게임 서버는 한 번 TCP 연결을 맺으면 게임 클라이언트가 나갈 때까지 거의 유지되지만, 웹 프로토콜(HTTP)처럼 메시징을 할 때마다 TCP 연결을 맺는 상황에서는 윈도 서버가 유리합니다.

Tip

IOCP의 실제 구동되는 예시 코드를 확인해 보세요.

chapter_3/tcp_many_server_iocp: overlapped로 TCP 연결을 받은 후 TCP 연결 각각에서 Overlapped I/O로 소켓 송수신을 처리합니다. 별도의 스레드를 만들지 않고 메인 스레드에서 다수의 소켓을 모두 처리합니다. IOCP를 이용했으므로 소켓 개수만큼 루프를 돌지 않습니다.

책에 나오는 의사 코드와 실제 작동하는 코드를 비교 및 직접 구동해 보기를 권장합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.