DirectPlay DirectPlay C++ 샘플 ChatPeer   [목차열람] [주소복사] [슬롯비우기]
ChatPeer
 
Microsoft DirectX 9.0

ChatPeer


ChatPeer 샘플은,SimplePeer 와 유사한 형식이다. player가 세션의 호스트가 되는지, 또는 세션에 접속 하면, 캐릭터 라인의 수수에 의해 player 끼리가 채팅할 수 있게 된다.

패스

소스 파일 : (SDK 루트) \Samples\C++\DirectPlay\ChatPeer

실행 가능 파일 :(SDK 루트) \Samples\C++\DirectPlay\Bin

사용자가이드

player의 이름을 입력해, 접속의 종류를 선택한다. [Wait for Lobby Connection] 또는 서비스 프로바이더를 선택할 수 있다. [Multiplayer Games] 다이알로그 박스를 사용해, 참가하는 액티브한 게임의 검색 또는 새로운 게임의 시작이 생긴다. 게임에 참가 할 때 또는 게임을 시작 할 때는, 곧바로 시작 할 수 있다. 다른 player는, 언제라도 게임에 참가할 수 있다. 호스트의 처리이 온이 되어 있는 경우, Microsoft® DirectPlay® 가 자동적으로 호스트 세션을 다른 player로 처리하기 (위해)때문에, 호스트 player는 언제라도 게임을 빠질 수 있다.

  Internetwork Packet Exchange (IPX) 서비스 프로바이더를 선택했을 경우, DirectPlay 에 주소의 검색을 실행시키려면 ,[use DPNSVR] 체크 박스를 온으로 한다.

프로그래밍 정보

ChatPeer 샘플은, SimplePeer 와 매우 닮은 형식이다. ChatPeer 로 다른 것은, 세션에 접속한 모든 player에 대해서, 클라이언트가 캐릭터 라인을 송신할 수 있도록(듯이) 하고 있는 것이다. 상세한 프로그래밍 정보에 대해서는, SimplePeer 샘플의 「프로그래밍 정보」를 참조할것.

[Send] 를 클릭 하면,SendChatMessage 함수는 다음의 처리를 실행한다.

  1. 다이알로그 박스로부터 캐릭터 라인을 얻어온다.
  2. 애플리케이션 정의의 구조체인 GAMEMSG_CHAT 에 정보를 저장 한다. 이 구조체는, 최초의 BYTE 에 메시지 타입 식별자 (ID)를 갖는다. 애플리케이션은, 이 정보로부터, 수신한 애플리케이션 메시지의 종류를 확인할 수 있다. 다만, ChatPeer 로 사용하는 애플리케이션 정의 메시지는 1 개 뿐이다. 이 처리의 복잡한 예에 대해서는, 「StagedPeer 」를 참조할것.
  3. GAMEMSG_CHAT 버퍼를 사용해 DPN_BUFFER_DESC 구조체에 정보를 저장 한다.
  4. DPN_BUFFER_DESC 를 사용해 IDirectPlay8Peer::SendTo 를 호출한다. 이 메시지가 전원에게 송신되도록(듯이), DPNID_ALL_PLAYERS_GROUP 플래그를 건네준다.


© 2002 Microsoft Corporation. All rights reserved.
↑TOP