DirectPlay DirectPlay Voice 음성 호스트 메시지의 처리 [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
Microsoft® DirectPlay® Voice 의 모든 세션에는, 세션의 시작·관리·종료를 실시하는 호스트가 필요하다. 음성 호스트는, 음성 서버 개체 (CLSID_DirectPlayVoiceServer)를 생성 해, 그 개체의 IDirectPlayVoiceServer 인터페이스를 통해서, 음성 세션을 관리할 필요가 있다. 음성 호스트에게는, 음성 클라이언트와 같이 메시지 핸들러가 필요가 있어, 세션중은 메시지를 수신한다. 음성 호스트의 메시지 핸들러는, 다음의 3 개의 메시지를 수신할 수 있다.
DirectPlay 의 코어 메시징과는 달라, 이러한 어느 메시지도, 음성 세션의 호스트에 대해서 일의는 아니다. 세션의 종류에 의해, 이러한 메시지는 음성 클라이언트의 메시지 핸들러가 수신하는 일도 있다. 여기에서는, 음성 세션의 호스트가 메시징을 처리하는 방법에 대해 간단하게 설명한다. 메시지의 상세한 처리 방법에 대해서는, 「음성 클라이언트 메시지의 처리」를 참조할것. 메시징의 전반적인 내용에 대해서는, 「DirectPlay 메시징의 처리」를 참조할것.
클라이언트/서버의 음성 호스트는, 보통, 음성 세션의 시작 후에 다음의 메시지를 수신한다.
음성 세션에 player가 참가할 때마다,DVMSGID_CREATEVOICEPLAYER 메시지를 수신한다.
음성 세션에 player가 참가할 때마다,DVMSGID_DELETEVOICEPLAYER 메시지를 수신한다.
클라이언트/서버의 음성 호스트는, 음성 세션이 종료했을 때에 다음의 1 개 또는 복수의 메시지를 수신한다.
기본으로 되는 코어 세션이 절단 되면DVMSGID_SESSIONLOST 메시지를 수신한다. 예를 들어, 기본으로 되는 DirectPlay 피어 또는 서버 전송 개체가 닫혀지는지, 호스트가 네트워크로부터 접속이 해제되면 코어 세션의 접속이 해제된다.
음성 세션이 종료했을 경우, 세션의 다른 클라이언트 마다, 1 개의 DVMSGID_DELETEVOICEPLAYER 메시지를 수신한다.