12
클클클클클 - 클클클 클클클클 클클클

유니티와 C# 서버에서 프라우드넷 사용하기 - 1

Embed Size (px)

Citation preview

Page 1: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

클라이언트 - 서버간 통신하기넷텐션

Page 2: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

클라 - 서버 연결하기2. m_netClient = new NetClient();m_netClient.Connect();

1. m_netServer = new NetServer();m_netServer.Start();

4. OnJoinServerComplete 이벤트( 인자를 통해 성사여부 확인 )

클라이언트 서버3. OnClientJoin 이벤트

네트워크 연결성공

Page 3: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

클라 - 서버 연결 해제1. CNetClient.Disconnect연결 끊을래 ~

3. OnLeaveServer 이벤트즐됐삼ㅜㅜ

클라이언트 서버2. OnClientLeave 이벤트님아 즐

Page 4: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

알아야 할 용어들• 서버 주소 (xxx.xxx.xxx.xxx:yyyy)• 프로토콜 버전

Page 5: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

HostID• 각 클라의 고유값• 서버

=HostID_Server • 없음 =HostID_None• 3,4,5,6,7,…

3

4

5

6

Page 6: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

• 사용자 이름 , 마을 이름 입력• 새 마을 만들기 / 기존 마을 들어가기

Page 7: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

호스트간 메시지 주고 받기

Page 8: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

두가지 방법• SendUserMessage–메시지 포맷 처리루틴을 사용자가 정의

• RMI–메시지 포맷 처리루틴을 컴파일러가 자동 생성

Page 9: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

RMI 사용하기1) 이것을 컴파일하면

2) 이러한 송수신 루틴이 생성됨

Page 10: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

C2S

S2C

C2S Proxy C2S Stub

S2C ProxyS2C Stub

클라이언트 서버

• Proxy: 함수 호출을 메시지로 전환 ( 송신자 )• Stub: 메시지를 함수 호출로 전환 ( 수신자 )• C2S: Client-to-server• S2C: server-to-client

Page 11: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

RMI 호출하기ID, PW

OK!

4. NotifyLogonSuccess(HostID_Server) 콜백

클라이언트 A

서버

클라이언트 B

1. RequestLogon(HostID_Server, ReliableSend, “ID”, “PW”)서버에게 TCP 처럼 반드시 전송 사용자 정의 인자

2. RequestLogon(A, “ID,”PW”) 콜백A 가 보냈음

3. NotifyLogonSuccess(B, ReliableSend)B 에게

Page 12: 유니티와 C# 서버에서 프라우드넷 사용하기 - 1

로그온 처리• 본 예제에서는 사용자의 ID 만 입력받음• 물론 , 여러분의 게임에서는 비밀번호도 입력받게 해야 함