티스토리 뷰

Socket Programming

IOCP Model

상추님 2019. 9. 22. 16:38
190712-4 - IOCP 모델

 
비동기 입출력을 쉽게 할 수 있는 객체를 만들었다.
 
// 입출력 완료 포트 생성
HANDLE hcp = CreateIoCompletionPort(
    INVALID_HANDLE_VALUE, NULL, 0, 0);//- 첫 번째 인수가 -1이면 ICOP 오브젝트를 생성
if(hcp == NULL) return -1;
 
 
// 소켓과 입출력 완료 포트 연결
HANDLE hResult = CreateIoCompletionPort((HANDLE)client_sock, hcp,
    (DWORD)client_sock, 0); // 첫 번째 인수가 IOCP인수를 가지면 IOCP와 해당 소켓을 연결한다.
//키=소켓번호 로 설정, 0 = 스레드를 전부 깨운다.
if(hResult == NULL) return -1;
 
 
// 비동기 입출력 완료 기다리기
retval = GetQueuedCompletionStatus(hcp, &cbTransferred,//받은 바이트수
        (LPDWORD)&client_sock,// 키값
       (LPOVERLAPPED *)&ptr, // 오버랩드 구조체 (의 소켓번호랑 키값이 현재코드에선 동일)
       INFINITE
    );//있으면 확인 없으면 블로킹
 
 
 
 

'Socket Programming' 카테고리의 다른 글

Overlapped Model struct  (0) 2019.09.21
WSAEventSelect Model - 2  (0) 2019.09.20
WSAAsyncSelect Model  (0) 2019.09.19
[Socket] SELECT MODEL 네트워크  (0) 2019.09.18
비동기 IO (Overlapped IO)  (0) 2019.09.18
댓글
최근에 올라온 글
최근에 달린 댓글
네이버 이웃추가
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함