Overlapped2 소켓 IO overlapped CallBack Overlapped 입출력하나의 쓰레드 내에서 동시에 여러개의 입출력을 진행WSASocket사용WSA_FLAG_OVERLAPPED 플래그로 Overlapped IO기능기존 recv/send의 개선 -> WSASend, WSARecv 로 사용Accept 및 Recv 이후 초기 Recv 동작전송과 수신의 과정으 ㄹ완료하지 않음데이터를 각각 소켓의 Overlapped 구조 버퍼에 복사전송과 수신을 백그라운드 동작Non 블러킹 비동기적으로 IO 처리 멀티로 IO요청이 가능함버퍼링 오버헤드가 줄어든다. 2. Callback 방식Overlapped 구조체에 CompletionFunction을 지정하여 CallbackWsARecv / WSASend 함수 호출이 완료되었을 때 지정한 Callback 함수 호출해당 Ca.. 2013. 5. 22. IOCP 구현 IOCP구현Completion Port 오브젝트 생성(소켓과 오브젝트 연결)HANDLE CreateIoCompletionPort()서버의 리슨소켓 / 각클라이언트의 소켓이 생성될때 오브젝트 생성보통 CPU의 2배수로 WorkerThread 생성루프를 돌면서 Completion Queue를 계속호출Completion Queue의 Completion Packet확인발생한 IO를 가져오기BOOL GetQueuedCompletionStatus()Overlapped 구조체를 통해 IO_Read / IO_Write 를 구분 2013. 5. 22. 이전 1 다음