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

NATResolver


NATResolver 샘플은,IDirectPlay8NATResolver 인터페이스를 사용해, 네트워크 어드레스 변환 (NAT) 장치를 개입시킨 player에 대해서 어떻게 주소 해결을 처리 하는지를 나타낸다. 이 인터페이스는 간단한 서버로서 동작해, 문의를 받아들이고 받은 주소를 호출해 바탕으로 반영한다.

패스

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

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

사용자가이드

샘플 가 기동 하면, 문의를 기다리는 IDirectPlay8NATResolver 개체가 생성 된다. 샘플은 이용 가능한 모든 IPv4 장치로부터 수신하는 문의를 처리한다. [Require password] 체크 박스를 온으로 하면 텍스트 형식의 패스워드에 대해 문의를 선별한 후, Microsoft® DirectPlay® 는 해결한 주소를 돌려줄 수가 있다.

다이얼로그는, 수신하는 문의와 송신하는 응답의 수와 함께, 현재 사용되고 있는 주소의 일람을 표시한다.

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

프로그래밍 정보

DirectPlay 는 주소 해결의 대부분의 작업을 처리한다. 작업을 중단하는 것은, 유입하는 문의가 권한이 있는 클라이언트때문인지 어떤지를 조사할 때 뿐이다. IDirectPlay8NATResolver::Initialize 메서드는 클라이언트의 권한에 대한 메시지 콜백을 설정해,IDirectPlay8NATResolver::Start 메서드는 요구된 장치로 서버를 기동한다.

DirectPlay 는 DPN_MSGID_NAT_RESOLVER_QUERY 메시지를 사용해 클라이언트로부터의 문의에 대해 프로그램에 통지한다. 이 메시지는, 클라이언트의 주소와 지정된 패스워드를 저장 한다. 이 콜백으로부터 성공을 나타내는 반환값이 돌아가면 DirectPlay 은 주소 해결을 처리한다. 실패를 나타내는 반환값이 돌아가면 해결은 삭제되지만, 관련하는 DirectPlay 의 호출은 계속해 실행된다. 패스워드를 사용하면 게임에 참가하고 있지 않는 클라이언트로부터 Resolver 서버에의 액세스를 거부할 수 있다.



© 2002 Microsoft Corporation. All rights reserved.
↑TOP