Windows 소켓: 배경

이 문서에서는 특성 및 Windows 소켓의 용도 설명합니다.문서도.

  • "소켓" 이라는 용어를 정의.

  • 소켓 핸들 데이터 형식을 설명.

  • 소켓의 용도 설명 합니다..

Windows 소켓 사양은 Microsoft Windows에 대 한 이진 호환 네트워크 프로그래밍 인터페이스를 정의합니다.Windows 소켓 기반 UNIX 소켓 구현에는 버클리 소프트웨어 배포 (BSD, 릴리스 4.3) 캘리포니아 대학교 버클리에서.BSD 스타일 소켓 루틴과 Windows 고유의 익스텐션을 모두 포함 됩니다.Windows 소켓을 사용 하는 Windows Sockets API를 따르는 모든 네트워크를 통해 통신 하는 응용 프로그램을 허용 합니다.Win32, Windows 소켓 스레드 안전을 제공합니다.

많은 네트워크 소프트웨어 공급 업체에서 네트워크 프로토콜 전송 제어 프로토콜/인터넷 프로토콜 (TCP/IP), Xerox 네트워크 시스템 (XNS), 디지털 장비 Corporation의 DECNet 프로토콜, Novell Corporation 인터넷 패킷 Exchange/Sequenced 교환 (IPX/SPX)이 압축 등 Windows 소켓을 지원 합니다.현재 Windows 소켓 사양을 TCP/IP에 대 한 소켓 추상화를 정의 하지만 해당 버전의 Windows 소켓 구현 하는 동적 연결 라이브러리 (DLL)를 제공 하 여 Windows 소켓 모든 네트워크 프로토콜을 따를 수 있습니다.Windows 소켓으로 작성 된 상업용 응용 프로그램에는 X Windows 서버, 터미널 에뮬레이터 및 전자 메일 시스템 등이 있습니다.

[!참고]

Windows 소켓은 내부 네트워크 및 응용 프로그램은 소켓을 지 원하는 모든 네트워크에서 실행할 수 있도록 해당 네트워크에 대 한 지식이 없는 있도록 추상화 하기 위해서입니다.따라서이 설명서 네트워크 프로토콜에 자세히 다루지 않습니다.

Microsoft Foundation 클래스 라이브러리 (MFC) 두 개의 클래스를 제공 하 여 Windows 소켓 API를 사용한 프로그래밍을 지원 합니다.이러한 클래스 중 하나 CSocket, 높은 수준의 네트워크 통신 프로그래밍을 단순화 하는 추상화를 제공 합니다.

Windows 소켓에서 Windows 소켓 사양을: 네트워크 컴퓨팅에서 Microsoft Windows 용, 버전 1.1, 지금에 열 인터페이스 개방형 네트워킹 표준으로 개인과 기업에서 TCP/IP 커뮤니티의 큰 그룹에 의해 개발 되었으며, 자유롭게 사용할 수 있습니다.현재 모델 지원 한 "통신 도메인" 프로그래밍, 인터넷 프로토콜 제품군을 사용 하 여 소켓입니다.사양에서 사용할 수 있는 Windows SDK.

팁

인터넷 프로토콜 제품군 소켓을 사용 하기 때문에 "정보 고속도로"에서 인터넷 통신을 지 원하는 응용 프로그램에 대 한 기본 경로

소켓 정의

소켓 통신 종점입니다 — 개체를 통과 하는 Windows 소켓 응용 프로그램 보내거나 네트워크를 통해 데이터 패킷을 수신 합니다.소켓의 형식이 실행 중인 프로세스와 연관 되 고 이름을 가질 수 있습니다.현재 소켓 일반적으로 "인터넷 프로토콜 제품군을 사용 하 여 동일한 통신 도메인" 다른 소켓만 사용 하 여 데이터를 교환 합니다.

두 종류의 소켓은 양방향입니다. 들은 양방향으로 동시에 통신할 수 있는 데이터 흐름 (전이중)입니다.

두 소켓 형식을 사용할 수 있습니다.

  • 스트림 소켓

    스트림 소켓을 제공 하는 레코드 경계 없이 데이터 흐름에 대 한: 바이트 스트림.스트림은 전달할 수 올바르게 순차적 및 중복 보장 됩니다.

  • 데이터 그램 소켓

    배달 되지 않을 하 고 순차적으로 수 없는 데이터 그램 소켓 지원 레코드 지향 데이터 흐름 순차적이 지 않거나.

"순차적" 패킷을 보낸 순서 대로 배달 하는 것을 의미 합니다. "이며"특정 패킷을 한 번만 받는 것을 의미 합니다.

[!참고]

XNS, 같은 네트워크 프로토콜에서 스트림을 바이트 스트림을 아니라 레코드의 스트림 지향 레코드 수 있습니다.그러나 일반적인 TCP/IP 프로토콜의는 스트림을 바이트 스트림을입니다.Windows 소켓 기반 프로토콜에 독립적인 추상화 수준을 제공 합니다.

이러한 형식에 대 한 내용은 어떤 경우에 사용 하는 소켓의 종류 및 Windows 소켓: 스트림 소켓Windows 소켓: 데이터 그램 소켓.

소켓 데이터 형식

Windows 소켓 개체에 대 한 핸들 각 MFC 소켓 개체를 캡슐화합니다.이 핸들은 데이터 형식인 소켓.A 소켓 핸들 유사의 HWND 창.MFC 소켓 클래스로 캡슐화 된 핸들에 대 한 작업을 제공합니다.

소켓 데이터 형식에서 자세히 설명 되어 있는 Windows SDK.Windows 소켓에서 "소켓 데이터 형식 및 오류 값"을 참조 하십시오.

소켓의 용도

소켓은 적어도 세 가지 통신 상황에서 매우 유용합니다.

  • 클라이언트/서버 모델

  • 메시징 응용 프로그램 같은 피어-투-피어 시나리오

  • 수신 응용 프로그램이 메시지를 함수 호출으로 해석 함으로써 원격 프로시저 호출 (RPC)를 수행 합니다.

팁

MFC 소켓을 사용 하 여 가장 이상적인 경우 통신의 양쪽 끝을 작성 하는 경우: 양쪽 끝에 MFC를 사용 합니다.비 MFC 응용 프로그램과 통신 하는 경우 대/소문자를 관리 하는 방법을 비롯 하 여이 항목에 대 한 자세한 내용은 참조 하십시오 Windows 소켓: 바이트 순서.

자세한 내용은 Windows 소켓 사양을 참조 하십시오: ntohs, ntohl, htons, htonl.또한 다음 항목을 참조 하십시오.

참고 항목

개념

Mfc에서 Windows 소켓