반응형 소켓2 IOCP 입출력 완료 포트 생성 및 연결 그리고 입출력 과정 CreateIoCompletionPort()CreateIoCompletionPort() 메서드는 두 가지 역할을 한다. 하나는 입출력 완료 포트를 새로 생성하는 일이고, 다른 하나는 소켓과 입출력 완료 포트를 연결하는 일이다. 소켓과 입출력 완료 포트를 연결해 두면 해당 소켓에 대한 비동기 입출력 결과가 입출력 완료 포트에 저장된다. HANDLE WINAPI CreateIoCompletionPort( _In_ HANDLE FileHandle, // IOCP와 연결할 파일 핸들이나 소켓, INVALID_HANDLE_VALUE값 전달시 신규 생성 _In_opt_ HANDLE ExistingCompletionPort, // 연결할 IOCP 핸들, NULL이면 새 IOCP 생성 _In_ .. 2024. 8. 7. IOCP에 대해서 IOCP(I/O Completion Port)란 무엇인가?소켓이나 파일의 입출력을 최소한의 스레드를 사용해서 처리하는 기법이다. 이를 위한 스레드 풀링이나 비동기 처리등을 운영체제에서 관리해주기 때문에 사용자는 IOCP를 이용해서 쉽고 빠르게 고성능의 입출력 처리가 가능해진다. 추가적으로 설명하자면, 중첩 입출력(Overlapped I/O)이 완료되면 사용자에게 이를 통지해 주는 커널 오브젝트이다. IOCP는 비동기(Asynchronous) + 스레드 풀링(Thread Pooling) + 논 블로킹(Non-Blocking) + 중첩 입출력(Overlapped I/O)과 같은 개념들을 이용해서 작동한다. IOCP의 장점스레드 풀(Thread Pool)을 쉽게 사용할 수 있다. (운영체제가 직접 스레드 풀링.. 2024. 1. 24. 이전 1 다음