본문 바로가기

IOCP

IOCP 참고 문서 IOCP- 윈속 프로그래밍 2002년 08월 21일 | 03시 05분 이 글은 제가 얼마 전에 프로그램 세계에 연재했던 글입니다. 다음 3회 연재 글 중에서 마지막 회에 해당합니다. 1,2회에 해당하는 글은 이 책에서 찾아보실 수 있습니다. 2002/2 - 1. 윈속이란 ? - 간단한 에코우 서버/클라이언트 프로그램 만들기 2002/4 - 2. 멀티스레드 윈속 서버 프로그램으로 업그레이드 하기 2002/5 - 3. IOCP 윈속 서버 프로그램 이번 회에는 지난 회에서 멀티스레드 윈속 서버 프로그램을 IOCP(Input Output Completion Port)를 이용하는 것으로 변경해보도록 하자. 전에 서버 프로그래밍에 관한 필자의 연재기사에서 수차례 IOCP를 언급한 바 있었는데 이제서야 설명을 하게 .. 더보기
IOCP 함수 IOCP IOCP(I/O Completion Port)는 어떤 I/O 핸들에 대해서, 블록 되지 않게 함으로 프로그램 대기시간을 줄이는 목적으로 사용된다. 우선 Overlapped IO(비동기 IO작업)의 개념이 기반이 된다. IOCP는 이런 Overlapped IO가 실행이되고 알려주는 방법에 대한 것이다. 그리고 IOCP는 커널객체이다. 뮤텍스나 스레드와 같이 커널에서 제공을 한다. (커널 객체는 일반적으로 전역적으로 사용되는 개념인거 같다.;;) 사용 이점 사용자가 설정한 버퍼만을 사용하기 때문에 더 효율적으로 작동한다. (기존에는 OS버퍼, 사용자 버퍼로 따로 분리되는 개념이었다.) IO요청에 대해서 효율적으로 접근한다. 디스크IO의 경우 디스크에 접근을 똑똑하게 한다-_-;(순서대로가 아닌 효율.. 더보기
IOCP방식으로 서버개발시 정보 =========================================================================================== 그리고 wsasend를 실행하고 GetQueuedCompletionStatus함수가 깨어나면 얼마나 보냇는지 검사를 한뒤에 다 못 보냈으면 다시 버퍼를 보낸만큼 뒤로 빼고 난뒤에 다시 wsasend를 걸어 줍니다. - 이 부분은 국내또는 외국 토론그룹에서도 많이 논의가 되고 있는 내용입니다. 다시 보내야 한다 보내지 말아야 한다 등등. 결국 전송시 완료포트에서 전송량과 완료량이 다를경우 다시 재 전송해야 하느냐? 이 문제 인데요. 저 같은경우 전송량과 완료량이 다를경우에도 클라이언트에서 보낸만큼 모두 받았습니다. 실제 테스트를 해보았구요. 그.. 더보기
iocp echo예제 소스!! 인터넷에 구한 소스!!! 저작권 침해되면 ^^ 말씀해주세요^^ 바로 삭제 하게!! 더보기