본문 바로가기
프로그래머/프로그래밍

WSAAsyncSelect 모델 정의

by plog 2008. 10. 22.

WSAAsyncSelect를 사용하면 윈속의 소켓 이벤트를 윈도우 메시지를 통하여 비동기적으로 통보 받을 수 있다.  

WSAAsyncSelect 모델을 이용하기 위해서는 우선 CreateWindow를 이용하여 윈도우를 생성하여 윈도우 프로시저가 동작되도록 해야 한다. 다이얼로그 박스도 윈도우이기 때문에 다이얼로그 박스와 다이얼로그 프로시저를 사용해도 된다. 

int WSAAsyncSelect (
   SOCKET s,                // 이벤트를 받기위한 소켓
   HWND hWnd,              // 메시지를 전달 받을 윈도우 핸들
   unsigned int wMsg,    // 이벤트 발생시 전달되어질 윈도우 메시지 번호
   long lEvent                // 이벤트
); 

*Anthony Jones 는 말했다.
하나 이상의 소켓을 처리하는 클라이언트를 개발 하고자 한다면 overlapped I/O 모델이나 WSAEventSelect 모델을 사용하는 것이 성능상으로 유리하다. 만일 윈도우기반의 응용프로그램을 개발한다면 윈도우 메시지를 이용하는 WSAAsyncSelect 모델을 권한다.


댓글