DirectPlay DirectPlay C++ 샘플 Maze [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
패스 :(SDK 루트) \Samples\C++\DirectPlay\Maze
실행 가능 파일 :(SDK 루트) \Samples\C++\DirectPlay\Bin
실행 가능한 Maze 샘플에는, MazeClient, MazeConsoleClient, MazeServer 의 3 개가 있다. MazeClient 는, 자기 내포형의 실행 가능 파일이지만, MazeServer 과 MazeConsoleClient 는 동시에 실행할 필요가 있다. 이하에서는, 각 샘플을 실행하는 방법을 나타낸다.
MazeClient 는, 다음의 3 통과해 방법으로 실행할 수 있다.
MazeClient 아이콘을 더블 클릭 해, Bin 폴더로부터 MazeClient 를 기동한다. 샘플이 설정 모드로 실행된다. 아이콘을 클릭 하면, 다이알로그 박스가 표시된다. 목적의 설정을 선택해,[Launch] 를 클릭한다. Maze 샘플이 실행된다. 샘플을 종료하려면 , 임의의 키를 누르는지, 마우스를 클릭한다.
MazeClient 를 테스트 모드로 실행하려면 , 커멘드 prompt로 다음과 같이 입력한다.
mazeclient.exe /t
테스트 모드에서는, 서버 게임을 검색해 게임에 참가하는지, 서버에 접속하지 않는 선택을 할 수 있다. MazeClient 를 테스트 모드로 실행할 때에 입력할 수 있는, 간단한 커멘드가 몇개인가 있다.
MazeClient 를 스크린 세이버 모드로 실행하려면 , 커멘드 prompt로 다음과 같이 입력한다.
mazeclient.exe /s
이 모드에서는, 설정 모드의 설정을 사용해, 서버에 자동적으로 접속한다. 서버가 발견되지 않는 경우, 서버에 접속하지 않고 실행된다. 마우스 또는 키보드로부터의 입력이 있으면 샘플은 종료한다.
Bin 폴더의 MazeConsoleClient 아이콘을 더블 클릭 하는지, 커멘드 prompt로 다음과 같이 입력해, MazeConsoleClient 를 기동한다.
MazeConsoleClient.exe
MazeConsoleClient 는, 로컬 네트워크상에서 자동적으로 세션을 검색한다. 검색을 실행하지 않는 경우는, 커멘드 prompt로 다음과 같이 입력한다.
setup
로컬 서버에 접속할지 어떨지 질문이 표시되면 다음과 같이 입력한다.
Yes
이미 MazeServer 를 실행하고 있는 경우, MazeConsoleClient 는 자동적으로 접속해, 기동한다. 특정의 인터넷 프로토콜 (IP) 주소로 세션을 검색하려면 , 커멘드 prompt로 다음과 같이 입력한다.
MazeConsoleClient 255.255. 255.255
서버가 발견되지 않는가, 세션이 없어졌을 경우, 샘플은 자동적으로 종료한다. Ctrl+C 키를 눌러, 세션을 종료한다.
Bin 폴더의 MazeServer 아이콘을 더블 클릭 하는지, 커멘드 prompt로 다음과 같이 입력해, MazeServer 를 기동한다.
mazeserver.exe
MazeServer 는, 클라이언트를 참가할 수 있는 호스트 세션을 자동적으로 생성 한다. MazeServer.exe 는, Maze 의 사이즈를 설정하기 위해서, 옵션의 커멘드 prompt 파라미터를 취한다. 예를 들어, Maze 의 사이즈를 폭 16, 높이 128 으로 설정하려면 , 다음과 같이 입력한다.
mazeserver.exe /size 16 128
폭과 높이는 다음의 숫자에 제한되고 있다. 16, 32, 64, 또는 128.
일단 기동 하면, 서버를 제어하기 위한 간단한 커멘드 prompt가 표시된다. 이하에, 커멘드의 일람을 나타낸다.
help | 사용할 수 있는 간단한 커멘드를 일람으로 표시한다. |
stop | 서버를 셧다운 한다. |
stats | 접속되고 있는 player수를 표시한다. |
sr 또는 serverreliable | 서버로부터 클라이언트에 송신되는 패킷 가운데, DPNSEND_GUARANTEED 플래그를 가지는 것의 비율을 설정한다. |
cr 또는 clientreliable | 모든 클라이언트로부터 서버에 송신되는 패킷 가운데, DPNSEND_GUARANTEED 플래그를 가지는 것의 비율을 지정한다. |
cu 또는 clientupdate | 각 클라이언트로부터의 갱신의 간격을 밀리 세컨드 단위로 설정한다. |
ct 또는 clienttimeout | 클라이언트가 송신하는 패킷의 타임 아웃값을 설정한다. |
st 또는 servertimeout | 서버가 송신하는 패킷의 타임 아웃값을 설정한다. |
ci 또는 connectioninfo | 서버로부터 클라이언트에의 접속에 관한 정보를 표시한다. 예를 들어, ci 00300003. |
loglevel | 백그라운드에서 실행되고 있는 처리에 관한 정보를 얼마나 표시하는지를 설정한다. |