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 에서 처리하므로 일정 수준 이상에서 성능형상 미미
- 하나의 스레드 내에서 동시에 여러 개의 입출력을 진행
- 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 |