현대 네트워크 환경에서의 의의

현대의 높은 네트워크 수요에 적합


네트워크 I/O 모델

동기 / 비동기

블로킹 / 논블로킹

각각의 비교


IOCP의 정의

I/O Completion Port는 Windows OS에서 제공하는 비동기 I/O 모델 다량의 비동기 I/O 작업을 매우 효과적으로 처리할 수 있기에 MMORPG 등의 서버에 널리 사

IOCP의 개념


IOCP의 구성 요소

  1. Completion Port (완료 포트)
  1. Overlapped I/O (오버랩 I/O)
  1. Worker Thread (워커 스레드)

IOCP의 동작 흐름

image.png

출처: https://developstudy.tistory.com/43

IOCP의 동작 흐름은 다음의 과정으로 간략히 표현할 수 있다

  1. Completion Port 생성
  1. 소켓 또는 핸들을 Completion Port에 연결
  1. 워커 스레드 생성
  1. 비동기 I/O 작업 요청
  1. I/O 작업 진행
  1. 통지 수신
  1. 워커 스레드 작업 시작
  1. 종료 또는 반복

구현 시 고려사항

이는 모든 비동기 I/O 시스템이 공유하는 고려사항이기도 함