다이렉트 플레이

DirectPlay

DirectPlay는 Microsoft DirectX API의 일부입니다.이것은 컴퓨터 게임 개발을 위한 네트워크 통신 라이브러리이지만 다른 용도로도 사용할 수 있습니다.

DirectPlay는 인터넷, 모뎀 링크 또는 네트워크를 통해 게임을 연결할 수 있는 응용 프로그램과 통신 서비스 간의 고급 소프트웨어 인터페이스입니다.게임 세션과 사이트를 찾아 호스트와 플레이어 간의 정보 흐름을 관리할 수 있는 도구 세트를 갖추고 있습니다.기본 온라인 서비스나 프로토콜에 관계없이 애플리케이션이 서로 통신할 수 있는 방법을 제공합니다.또, Network Address Translation(NAT; 네트워크주소 변환)의 많은 접속 문제도 해결됩니다.

DirectX의 다른 부분과 마찬가지로 DirectPlay는 COM에서 실행되며 컴포넌트 객체 모델(COM) 인터페이스를 통해 액세스됩니다.기본적으로 DirectPlay는 멀티 스레드 프로그래밍 기술을 사용하며 일반적인 스레드 문제를 피하기 위해 신중하게 생각해야 합니다.DirectX 버전9 이후 이 문제는 효율성의 저하로 경감할 수 있습니다.

네트워킹 모델

DirectPlay는 UDP(User Datagram Protocol)를 기반으로 구축되어 있어 다른 DirectPlay 애플리케이션과 빠르게 통신할 수 있습니다.TCP 및 UDP 포트 2300 ~2400 [1]및 47624 를 사용합니다.

Direct Play는 OSI 모델의 레이어 4 및 5에 있습니다.

  • 레이어 4 에서는, 애플리케이션이 요구하는 경우, DirectPlay 는 다음의 작업을 처리할 수 있습니다.
    • 메시지 순서: 전송한 것과 같은 순서로 데이터가 도착합니다.
    • 메시지 신뢰성: 데이터의 착신이 보증됩니다.
    • 메시지 흐름 제어: 수신자가 수신할 수 있는 속도로만 데이터가 전송되도록 합니다.
  • 계층 5에서는 DirectPlay가 항상 다음 작업을 처리합니다.
    • 접속의 개시와 종료.

인터페이스

  • DirectPlay의 주요 인터페이스(액세스 방법)는 다음과 같습니다.
    • IDirectPlay8Server: 서버 기능에 액세스할 수 있습니다.
    • IDirectPlay8Client.클라이언트 기능에 액세스 할 수 있습니다.
    • IDirectPlay8Peer: 피어 피어 기능에 액세스 할 수 있습니다.
  • 세컨더리 인터페이스는 다음과 같습니다.
    • 게임을 실제로 시작하기 전에 게임을 찾아 준비할 수 있는 다양한 로비 인터페이스입니다.
    • 프로그래머가 리소스 사용을 미세 조정할 수 있는 스레드 관리 인터페이스입니다.이것에 의해, 워커 스레드의 일반적인 디세블화도 가능하게 되어, 응답성이 저하하는 한편으로, 까다로운 멀티 스레드 문제를 회피할 수 있습니다.
    • 다양한 Network Address Translation(NAT; 네트워크주소 변환) 인터페이스를 통해 라우터의 배후에 있는 플레이어가 게임을 보다 쉽게 호스트할 수 있습니다.광대역 인터넷 접속의 대부분의 플레이어는 이 문제에 직면해 있습니다.
    • DirectPlay Voice로 알려진 다양한 음성 통신 인터페이스로 게임 내 음성 통신 및 음성 입력을 쉽게 지원합니다.
    • 다양한 큐모니터링 인터페이스.어플리케이션이 요구에 따라 송수신된 데이터의 양을 피드백할 수 있습니다.이것에 의해, 애플리케이션은 수신자의 기능에 따라서 송신되는 데이터의 양을 감소/증가할 수 있습니다.

DirectPlay 음성

DirectPlay Voice는 멀티플레이 [2]게임용 DirectX 7.1의 일부로 Windows Me에 도입되었습니다.이는 DirectPlay 네트워크 전송 세션 자체를 통해 게이머들이 API를 활용하기 위해 작성된 게임에서 음성 채팅을 사용할 수 있도록 하는 음성 통신, 녹음 및 재생 API입니다.

현황

DirectPlay는 전통적으로 주목을 덜 받는 DirectX의 컴포넌트 중 하나였지만 DirectX 버전 8에서는 대대적인 개편을 거쳐 비교적 가벼운 네트워킹 라이브러리가 되었습니다.그러나 2004년 마이크로소프트가 XNA를 공개하면서 마이크로소프트는 DirectPlay가 이미 Xbox에서 이용 가능한 Games for Windows - Live 기술을 위해 권장되지 않을 이며 Windows PC에서 사용할 수 있도록 포팅될 것이라고 밝혔다.DirectPlay는 Microsoft Windows XP의 라이프 타임 동안 DirectX DLL에서 지원되지만 2007년 가을부터는[3] DirectX SDK에서 헤더와 라이브러리가 지원되지 않습니다.이러한 컴포넌트는 개발자가 이 테크놀로지를 사용하는 새로운 프로그램을 개발하려면 필수 컴포넌트입니다.

윈도우즈 Vista에서는 DirectPlay가 더 이상 사용되지 않으며 DirectPlay Voice 및 DirectPlay의 NAT Helper가 [4]제거되었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "[MC-DPL4CS]: DirectPlay 4 Protocol: Core and Service Providers".
  2. ^ "Microsoft DirectX to Feature Real-Time Voice Technology". Microsoft News Center. 2012-10-23. Archived from the original on 2012-10-23. Retrieved 2020-01-25.
  3. ^ "DirectX SDK - (August 2007)". Microsoft Download Center. Archived from the original on 2020-01-25. Retrieved 2020-01-25.
  4. ^ White, Steven. "DirectX Frequently Asked Questions - Win32 apps". Windows Dev Center. Archived from the original on 2020-01-25. Retrieved 2020-01-25.

외부 링크

DirectPlay와 동일한 목적을 제공하는 일부 대체 라이브러리