소켓 구조도
: MFC 에서는 Winsock API를 쉽게 사용할 수 있도록 캡슐화하여
CAsyncSocket 과 CSocket 이라는 두 개의 소켓 클래스를 제공

CAsyncSocket 클래스
- CObject 클래스로부터 상속된 클래스
- 비동기적으로 동작하는 소켓
- 접속 시점을 알 수 없을 경우 사용하는 소켓 → 서버에서 대부분 사용
- 채팅이나 메신저 프로그램 에서 사용
- 이벤트
- Connect() : 연결을 시도
- Send() : 연결된 상태에서 데이터를 클라이언트나 서버로 보냄
- Receive() : 연결된 상태에서 데이터를 클라이언트나 서버로 받음
- 위와 같은 이벤트가 발생했을 때 호출이 끝나기 전에 반환하고, 다음코드가 실행된다.
CSocket 클래스
- CAsyncSocket 클래스로부터 상속된 클래스
- 동기적으로 동작하는 소켓
- 비동기적 소켓과 반대로 이벤트가 발생했을 때 그 함수의 내부 동작이 모두 끝난 다음에 다음 코드가 실행
CAsyncSocket 클래스
- 비동기적 방식
- 데이터 송/수신 함수를 호출하고 바로 다음코드실행
CSocket 클래스