WSAAsyncSelect를 사용하면 윈속의 소켓 이벤트를 윈도우 메시지를 통하여 비동기적으로 통보 받을 수 있다.
WSAAsyncSelect 모델을 이용하기 위해서는 우선 CreateWindow를 이용하여 윈도우를 생성하여 윈도우 프로시저가 동작되도록 해야 한다. 다이얼로그 박스도 윈도우이기 때문에 다이얼로그 박스와 다이얼로그 프로시저를 사용해도 된다.
int WSAAsyncSelect (
SOCKET s, // 이벤트를 받기위한 소켓
HWND hWnd, // 메시지를 전달 받을 윈도우 핸들
unsigned int wMsg, // 이벤트 발생시 전달되어질 윈도우 메시지 번호
long lEvent // 이벤트
);
*Anthony Jones 는 말했다.
하나 이상의 소켓을 처리하는 클라이언트를 개발 하고자 한다면 overlapped I/O 모델이나 WSAEventSelect 모델을 사용하는 것이 성능상으로 유리하다. 만일 윈도우기반의 응용프로그램을 개발한다면 윈도우 메시지를 이용하는 WSAAsyncSelect 모델을 권한다.
'프로그래밍언어 > C++, MFC' 카테고리의 다른 글
사용자정의 메시지 버그? unhandled exception 에러 발생 할때 (0) | 2009.08.14 |
---|---|
cab 파일 만드는 법 (0) | 2008.11.12 |
문자열 코드 변환 방법 및 기초 지식 (VC++) (0) | 2008.10.30 |
트래이 아이콘 프로그램 만들기 (0) | 2008.10.14 |
사용자 정의 메시지 핸들러 (0) | 2008.10.13 |
댓글