CAsyncSocket
선문비트 24기
장준용
1. CAsyncSocket Class
- 소켓 관련 함수들이 멤버함수로 캡슐화 되어 있음
- MFC에서 윈속 API를 간편하게 다룰 수 있도록 제공
- Non-Blocking 모드에서 동작
- 헤더파일 : afxsock.h
2. CAsyncSocket Class Members
- Construction
|
CAsyncSocket |
CAsyncSocket 객체를 생성 |
|
Create |
소켓을 생성 |
- Attribute
|
Attach |
소켓 핸들을 CAsyncSocket 개체에 부여 |
|
Detach |
CAsyncSocket 개체로부터 socket 핸들을 분리 |
|
FromHandle |
Socket handle이 주어지면 , CAsyncSocket 개체의 포인터를 반환 |
|
GetLastError |
마지막으로 실패한 연산의 error 상태를 얻는다. |
|
GepPeerName |
Socket이 연결된 상대방 Socket의 주소를 얻는다. |
|
GetSockName |
Socket 의 Local 이름을 얻는다. |
|
GetSockOpt |
Socket option을 얻는다. |
|
SetSockOpt |
Socket option 설정 |
- Operations
|
Accept |
소켓에 연결을 받아들인다. |
|
AsyncSelect |
소켓에 이벤트 통지를 요청한다. |
|
Bind |
소켓에 로컬 주소를 연결한다. |
|
Close |
소켓을 닫는다. |
|
Connect |
상대방 소켓에 연결을 맺는다. |
|
IOCtl |
소켓의 모드를 조절한다. |
|
Listen |
연결 요구를 기다린다. |
|
Receive |
소켓으로부터 데이터를 받는다. |
|
ReceiveFrom |
데이터그램을 받아 소스 주소에 저장한다. |
|
Send |
연결된 소켓으로 데이터를 전송한다. |
|
SendTo |
특정 목적지로 데이터를 전송한다. |
|
ShutDown |
소켓에 요청되는 송신/수신을 불능으로 만든다 |
- Overidable Notification Functions
|
OnAccept |
Accept를 호출하여 받아들일 연결 요구가 있다는 것을 소켓에게 알린다. |
|
OnClose |
연결된 소켓이 끊어졌다는 것을 소켓에게 알린다. |
|
OnConnect |
연결 시도가 끝났다는 것을 연결을 시도하는 소켓에게 알린다. |
|
OnOutOfBandData |
소켓에 밴드를 초과한 데이터가 있음을 데이터를 받고 있는 소켓에게 알린다. 보통 다급한 메시지이다. |
|
OnReceive |
Receive를 호출함으로써 받을 데이터가 있음을 listening 소켓에게 알린다. |
|
OnSend |
Send를 호출하여 소켓이 데이터를 보낼 수 있음을 알린다. |
- Data Members
|
m_hSocket |
CAsyncSocket 개체에 부여된 SOCKET 핸들을 가리킨다. |
3. CAsyncSocket Member Method
- Create
- Listen
- Accept, OnAccept
- Connect, OnConnect
- Send, OnSend
- Receive, OnReceive
- Close, OnClose
※ 참고자료
- Visual C++ 6 완벽가이드 2nd Edition
- 네이버 블로그 : alphak4000님의 블로그
(http://blog.naver.com/alphak4000?Redirect=Log&logNo=130117729684)
- 싸이월드 블로그 : Duck Info
(http://www.cyworld.com/duck_info)