Realtime Servers Client API(C#) 참조: 작업
이 C# Realtime Client API 참조는 Amazon GameLift 플릿에 배포된 Realtime 서버에서 사용할 멀티플레이어 게임을 준비하는 데 도움이 될 수 있습니다.
Client()
새로운 클라이언트를 초기화하여 Realtime 서버와 통신하고 사용할 연결 유형을 식별합니다.
구문
public Client(ClientConfiguration configuration)
파라미터
- clientConfiguration
-
클라이언트/서버 연결 유형을 지정하는 구성 세부 정보입니다. 이 파라미터 없이 Client()를 호출하도록 선택할 수 있습니다. 하지만 이 접근 방식을 선택하면 기본적으로 비보안 연결이 설정됩니다.
필수 항목 여부: 아니요
반환 값
Realtime 서버와 통신하는 데 사용하기 위한 Realtime 클라이언트의 인스턴스를 반환합니다
Connect()
게임 세션을 호스팅하고 있는 서버 프로세스에 연결을 요청합니다.
구문
public ConnectionStatus Connect(string endpoint, int remoteTcpPort, int listenPort, ConnectionToken token)
파라미터
- 엔드포인트
-
연결할 게임 세션의 DNS 이름 또는 IP 주소입니다. 엔드포인트는
GameSession
객체에서 지정되며, 이 객체는 AWS SDK Amazon GameLift API 작업 StartGameSessionPlacement, CreateGameSession 또는 DescribeGameSessions에 대한 클라이언트 호출에 응답하여 반환됩니다.참고
TLS 인증서를 사용하는 플릿에서 Realtime 서버를 실행하는 경우 DNS 이름을 사용해야 합니다.
유형: 문자열
필수 여부: 예
- remoteTcpPort
-
게임 세션에 할당된 TCP 연결의 포트 번호입니다. 이 정보는
GameSession
객체에서 지정되며 이 객체는 StartGameSessionPlacement CreateGameSession 또는 DescribeGameSession 요청에 응답하여 반환됩니다.유형: 정수
유효한 값: 1900 ~ 2000.
필수 여부: 예
- listenPort
-
게임 클라이언트가 UDP 채널을 사용하여 전송된 메시지를 수신 대기하는 포트 번호입니다.
유형: 정수
유효한 값: 33400 ~ 33500.
필수 여부: 예
- token
-
서버 프로세스에 요청하는 게임 클라이언트를 식별하는 선택적 정보입니다.
유형: ConnectionToken
필수 여부: 예
반환 값
클라이언트의 연결 상태를 나타내는 ConnectionStatus 열거형 값을 반환합니다.
Disconnect()
게임 세션에 연결된 경우 게임 세션에서 게임 클라이언트의 연결을 해제합니다.
구문
public void Disconnect()
파라미터
이 작업에는 파라미터가 없습니다.
반환 값
이 메서드는 아무것도 반환하지 않습니다.
NewMessage()
지정된 작업 코드를 사용하여 새 메시지 객체를 생성합니다. 메시지 객체가 반환되면 대상을 지정하고 전송 방법을 업데이트한 다음 필요에 따라 데이터 페이로드를 추가하여 메시지 콘텐츠를 완료합니다. 완료되면 SendMessage()
를 사용하여 메시지를 전송합니다.
구문
public RTMessage NewMessage(int opCode)
파라미터
- opCode
-
플레이어 움직임 또는 서버 알림과 같은 게임 이벤트 또는 작업을 식별하는 개발자 정의 작업 코드입니다.
유형: 정수
필수 여부: 예
반환 값
지정된 작업 코드와 기본 전송 방법을 포함한 RTMessage 객체를 반환합니다. 전송 의도 파라미터는 기본적으로 FAST
로 설정됩니다.
SendMessage()
지정된 전송 방법을 사용하여 플레이어 또는 그룹에 메시지를 전송합니다.
구문
public void SendMessage(RTMessage message)
파라미터
- message
-
대상 수신자, 전송 방법 및 메시지 콘텐츠를 지정하는 메시지 객체입니다.
유형: RTMessage
필수 여부: 예
반환 값
이 메서드는 아무것도 반환하지 않습니다.
JoinGroup()
지정된 그룹의 멤버십에 플레이어를 추가합니다. 그룹에는 게임에 연결된 플레이어가 몇 명이든 포함될 수 있습니다. 참가하면 플레이어는 그룹에 전송된 모든 향후 메시지를 수신하며 전체 그룹에 메시지를 전송할 수 있습니다.
구문
public void JoinGroup(int targetGroup)
파라미터
- targetGroup
-
플레이어를 추가할 그룹을 식별하는 고유 ID입니다. 그룹 ID는 개발자가 정의합니다.
유형: 정수
필수 여부: 예
반환 값
이 메서드는 아무것도 반환하지 않습니다. 이 요청은 안정적인(TCP) 전송 방법을 사용하여 전송되기 때문에 실패한 요청은 OnError() 콜백을 트리거합니다.
LeaveGroup()
지정된 그룹의 멤버십에서 플레이어를 제거합니다. 그룹에 더 이상 속하지 않으면 플레이어는 그룹에 전송된 메시지를 수신하지 않으며 전체 그룹에 메시지를 전송할 수 없습니다.
구문
public void LeaveGroup(int targetGroup)
파라미터
- targetGroup
-
플레이어를 제거할 그룹을 식별하는 고유 ID입니다. 그룹 ID는 개발자가 정의합니다.
유형: 정수
필수 여부: 예
반환 값
이 메서드는 아무것도 반환하지 않습니다. 이 요청은 안정적인(TCP) 전송 방법을 사용하여 전송되기 때문에 실패한 요청은 OnError() 콜백을 트리거합니다.
RequestGroupMembership()
지정된 그룹의 플레이어 목록을 게임 클라이언트에 전송하도록 요청합니다. 플레이어가 그룹의 멤버인지 여부와 상관없이 모든 플레이어가 이 정보를 요청할 수 있습니다. 이 요청에 응답하여 멤버십 목록이 OnGroupMembershipUpdated() 콜백을 통해 클라이언트에 전송됩니다.
구문
public void RequestGroupMembership(int targetGroup)
파라미터
- targetGroup
-
멤버십 정보를 가져올 그룹을 식별하는 고유 ID입니다. 그룹 ID는 개발자가 정의합니다.
유형: 정수
필수 여부: 예
반환 값
이 메서드는 아무것도 반환하지 않습니다.