본문 바로가기

Computer/ServerProgramming

소켓 I/O :: Overlapped Callback

1. Overlapped 입출력
   - 하나의 스레드 내에서 동시에 여러 개의 입출력을 진행
   - WSASocket 사용
      WSA_FALG_OVERLAPPED 플래그로 Overlapped IO 가능
   - 기존 recv/send 의 개선 -> WSASend, WSARecv
     Accept 및 Recv 이후 초기 Recv 동작
     전송과 수신의 과정을 완료하지 않음
     데이터를 각각 소켓의 Overlapped 구조 버퍼에 복사
     전송과 수신을 백그라운드 동작

2. Callback 방식
   - Overlapped 구조체에 CompletionFunction을 지정하여 Callback
   - WSARecv/WSASend 함수 호출이 완료되었을 때 지정한 Callback 함수 호출
   - 해당 Callback 함수에서 Recv/Send 처리
   - 처리가 완료되었다면 초기 Recv

3. Overlapped Callback 장 단점
   - 속도가 빠르다.( 완료 후 바로 함수 처리 )
   - callback 은 하나의 Calling Thread 에서 처리하므로 일정 수준 이상에서 성능형상 미미

'Computer > ServerProgramming' 카테고리의 다른 글

소켓 I/O :: 비교  (0) 2010.02.22
소켓 I/O :: IOCP  (0) 2010.02.22
소켓 I/O :: WSAEventSelect  (0) 2010.02.22
소켓 I/O :: WSAAsyncSelect  (0) 2010.02.22
소켓 I/O :: Select  (0) 2010.02.22