다음을 통해 공유


MFC의 Windows 소켓

참고 항목

MFC는 Windows 소켓 1을 지원하지만 Windows 소켓 2는 지원하지 않습니다. Windows 소켓 2는 Windows 98과 함께 처음 제공되었으며 Windows 2000에 포함된 버전입니다.

MFC는 두 개의 MFC 클래스로 구현된 Windows 소켓을 사용하여 네트워크 통신 프로그램을 작성하기 위한 두 가지 모델을 제공합니다. 이 문서에서는 이러한 모델 및 MFC 소켓 지원에 대한 자세한 내용을 설명합니다. "소켓"은 통신의 엔드포인트입니다. 애플리케이션이 네트워크를 통해 다른 Windows 소켓 애플리케이션과 통신하는 개체입니다.

소켓 개념에 대한 설명을 포함하여 Windows 소켓에 대한 자세한 내용은 Windows 소켓: 배경을 참조하세요.

소켓 프로그래밍 모델

두 MFC Windows 소켓 프로그래밍 모델은 다음 클래스에서 지원됩니다.

  • CAsyncSocket

    이 클래스는 Windows 소켓 API를 캡슐화합니다. CAsyncSocket 은 네트워크 프로그래밍을 알고 소켓 API에 직접 프로그래밍하는 유연성을 원하지만 네트워크 이벤트 알림을 위한 콜백 함수의 편리성을 원하는 프로그래머를 위한 것입니다. C++에서 사용하기 위해 개체 지향 형식으로 소켓을 패키징하는 것 외에, 이 클래스가 제공하는 유일한 추가 추상화는 특정 소켓 관련 Windows 메시지를 콜백으로 변환하는 것입니다. 자세한 내용은 Windows 소켓: 소켓 알림을 참조 하세요.

  • CSocket

    파생된 CAsyncSocket이 클래스는 MFC CArchive 개체를 통해 소켓 작업을 위한 더 높은 수준의 추상화 기능을 제공합니다. 보관이 있는 소켓을 사용하는 것은 MFC의 파일 serialization 프로토콜을 사용하는 것과 매우 유사합니다. 이렇게 하면 모델보다 사용하기가 더 쉽습니다 CAsyncSocket . CSocket 은 Windows 소켓 API CAsyncSocket 를 캡슐화하는 많은 멤버 함수를 상속합니다. 이러한 함수 중 일부를 사용하고 일반적으로 소켓 프로그래밍을 이해해야 합니다. 그러나 CSocket 원시 API 또는 클래스 CAsyncSocket를 사용하여 직접 수행해야 하는 통신의 여러 측면을 관리합니다. 가장 중요한 것은 CSocket 동기 작업에 CArchive필수적인 차단(Windows 메시지의 백그라운드 처리 포함)을 제공한다는 것입니다.

만들기 및 사용 CSocketCAsyncSocket 개체는 Windows 소켓: 보관 및 Windows 소켓과 함께 소켓 사용: 클래스 CAsyncSocket 사용에서 설명합니다.

Windows 소켓 DLL

Microsoft Windows 운영 체제는 Windows 소켓 DLL(동적 연결 라이브러리)을 제공합니다. Visual C++는 적절한 헤더 파일 및 라이브러리와 Windows 소켓 사양을 제공합니다.

Windows 소켓에 대한 자세한 내용은 다음을 참조하세요.

참고 항목

Windows 소켓