이 예제는 <설치 폴더>/ProudNet/Sample/Chat 안의 서버와 C/S, 타 클라이언트들과 P2P를 하는 예제 입니다. ChatUnity를 서버 실행 후 실행 하시기 바랍니다.
2.1ChatUnity 실행 순서
먼저, <설치 폴더>/ProudNet/Sample/Chat/ChatUnity/Assets/Scenes/logOn.unity 를 엽니다.
<설치 폴더>/ProudNet/Sample/Chat/ChatUnity/PIDL.bat 파일을 실행하여 PIDL 을 컴파일 합니다.
Chat 의 Server 를 실행 후, ChatUnity 를 실행하시면 다음과 같은 창을 보실 수 있습니다.
그림 2-1LogOn Scene
logOn Scene 입니다. 여서기 ServerIP 와 UserName 을 셋팅하시고 LogOn Button 을 Click 하시면 Server 에 접속을 시도하며, 성공시 다음의 Scene 으로 전환됩니다.
그림 2-2GlobalChat Scene
globalChat Scene 입니다. 아래의 창에 내용를 입력하시고 Send Button 을 Click 하시면 Server 에 접속한 타 Client 들과 채팅을 하실 수 있습니다. 상단의 G_Chat 을 Click 시에도 이 Scene 을 보실 수 있습니다.
그림 2-3UserList Scene
상단의 UserList 를 Click 하시면 userList Scene 으로 전환 됩니다. 이 Scene 에서는 서버에 접속한 타 Client 들을 확인하실 수 있으시며 원하시는 Client 를 Click 하시어 Check 를 하신 후 Create Button 을 Click 하시면 Check 된 Client 간의 P2P Group 을 생성하게 되고 P2P 로 채팅 내용을 주고 받을 수 있습니다. 이때 자신도 자동으로 해당 Group 에 참여됩니다.
그림 2-4P2PChatRoom Scene
상단의 Room 을 Click, 또는 UserList 에서 Create Button 을 Click 하시면 p2pChatRoom Scene 으로 전환됩니다. 이 Scene 에서는 해당 Client 가 참여하고 있는 P2PGroup 의 List 를 확인하실 수 있으며 해당 Group Button 을 Click 시 P2PChat Scene 으로 전환됩니다.
그림 2-5P2PChat Scene
P2PChat Scene 입니다. 아래의 창에 내용을 입력 후 Send Button 을 click 하시면 해당 P2PGroup 으로 채팅 내용을 보내게 됩니다. 상단의 Back Button 을 Click 하시면 p2pChatRoom Scene 으로 돌아갑니다. P2PGroup 에서 나가지는 않습니다. 상단의 Leave Room Button 을 Click 하시면 p2pChatRoom Scene 으로 돌아갑니다. P2PGroup 에서 나가게 되며 p2pChatRoom Scene 에서는 해당 Group 을 더이상 확인 하실 수 없습니다.
2.2Unity3D 에서 사용된 스크립트 설명
Client : Client class 입니다. Scene 이 전환 되어도 소멸되지 않도록 되어 있으며 Singleton Pattern 으로 구현 되어 있습니다. 실제 Nettention.Proud.NetClient를 가지며 통신에 관련된 부분이 이 Script 에 구현되어 있습니다.
LogOn : logon Scene 에서 구동되는 Script 입니다. 서버와의 연결을 위한 IP Address, 채팅에서 사용될 UserName 을 입력받기 위한 GUI 가 구현되어 있습니다.
GlobalChat : globalChat Scene 에서 구동되는 Script 입니다. Server 에 연결된 모든 Client 들 간의 전체 채팅을 보여주기 위한 GUI 가 구현되어 있습니다.
UserList : userlist Scene 에서 구동되는 Script 입니다. Server 에 연결된 모든 Client 들의 list 를 보여주기 위한 GUI 가 구현되어 있습니다.
P2PChatRoom : p2pChatRoom Scene 에서 구동되는 Script 입니다. 해당 클라이언트가 속해 있는 P2P Group 의 List 를 보여주기 위한 GUI 가 구현되어 있습니다.
P2PChat : p2pChat Scene 에서 구동되는 Script 입니다. p2pChatRoom Scene 에서 선택한 P2P Group 간의 채팅을 보여주기 위한 GUI 가 구현되어 있습니다.
Vars : 여러 Script 에서 사용되는 공통된 부분 및 Server 로의 연결을 위한 Version 및 port 가 포함된 Vars class 가 정의되어 있습니다.
_common,_proxy,_stub : 이 파일은 PIDL 컴파일의 결과물 입니다. <설치 폴더>/ProudNet/Sample/Chat 샘플의 PIDL과 동일한 PIDL 파일을 컴파일 하였습니다. 11. PIDL 컴파일 결과물 포함하기
를 참조하십시오.