다음을 통해 공유


여러 프로토콜 사용

애플리케이션은 WSAEnumProtocols 함수를 사용하여 어떤 전송 프로토콜 및 프로토콜 체인이 있는지 확인하고 연결된 WSAPROTOCOL_INFO 구조에 포함된 각 프로토콜에 대한 정보를 가져옵니다.

대부분의 경우 각 프로토콜 또는 프로토콜 체인에 대한 단일 WSAPROTOCOL_INFO 구조가 있습니다. 그러나 일부 프로토콜은 여러 동작을 보여 줍니다. 예를 들어 SPX 프로토콜은 메시지 지향이지만(즉, 보낸 사람의 메시지 경계가 네트워크에 의해 유지됨) 수신 소켓은 이러한 메시지 경계를 무시하고 바이트 스트림으로 처리할 수 있습니다. 따라서 SPX에 대해 각각 하나씩 두 개의 서로 다른 WSAPROTOCOL_INFO 구조 항목이 있을 수 있습니다.

Windows 소켓 2에는 몇 가지 새 주소 패밀리, 소켓 유형 및 프로토콜 값이 표시됩니다. Windows Sockets 1.1은 소수의 잘 알려진 소켓 유형 및 프로토콜 식별자로 구성된 IPv4용 단일 주소 패밀리(AF_INET)를 지원했습니다. Windows 소켓 2는 호환성을 위해 기존 주소 패밀리, 소켓 유형 및 프로토콜 식별자를 유지하지만 새 미디어 형식의 새 전송 프로토콜에 대한 새 주소 패밀리 값도 지원합니다.

새 고유 식별자는 반드시 잘 알려진 것은 아니지만 문제가 되지는 않습니다. 프로토콜 독립적이어야 하는 애플리케이션은 socket_type 또는 프로토콜 매개 변수에 할당된 값보다는 적합성을 기반으로 프로토콜 을 선택하는 것이 좋습니다. 프로토콜 적합성은 프로토콜 WSAPROTOCOL_INFO 구조에 포함된 메시지 대 바이트 스트림 및 신뢰할 수 있는 대 신뢰할 수 없는 통신 특성으로 표시됩니다. 잘 알려진 프로토콜 이름 및 소켓 유형이 아닌 적합성을 기반으로 프로토콜을 선택하면 프로토콜 독립적 애플리케이션이 새로운 전송 프로토콜 및 관련 미디어 유형을 사용할 수 있게 되면 활용할 수 있습니다.

클라이언트/서버 애플리케이션의 서버 절반은 모든 적합한 전송 프로토콜에서 수신 대기 소켓을 설정하여 이점을 얻을 수 있습니다. 그런 다음, 클라이언트는 적절한 프로토콜을 사용하여 연결을 설정할 수 있습니다. 예를 들어 이렇게 하면 클라이언트 애플리케이션이 LAN을 통해 연결된 데스크톱 시스템 또는 무선 네트워크를 사용하는 노트북에서 실행 중인지 여부에 관계없이 수정되지 않을 수 있습니다.