Realtime Servers Client API(C#) 참조: 작업 - 아마존 GameLift

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Realtime Servers Client API(C#) 참조: 작업

이 C# Realtime Client API 참조는 Amazon GameLift 플릿에 배포된 Realtime 서버에서 사용할 멀티플레이어 게임을 준비하는 데 도움이 될 수 있습니다. 통합 프로세스에 대한 자세한 내용은 Realtime 서버 준비 섹션을 참조하세요.

Client()

새로운 클라이언트를 초기화하여 Realtime 서버와 통신하고 사용할 연결 유형을 식별합니다.

구문

public Client(ClientConfiguration configuration)

파라미터

clientConfiguration

클라이언트/서버 연결 유형을 지정하는 구성 세부 정보입니다. 이 파라미터 없이 Client()를 호출하도록 선택할 수 있습니다. 하지만 이 접근 방식을 선택하면 기본적으로 비보안 연결이 설정됩니다.

형식: ClientConfiguration

필수 항목 여부: 아니요

반환 값

Realtime 서버와 통신하는 데 사용하기 위한 Realtime 클라이언트의 인스턴스를 반환합니다

Connect()

게임 세션을 호스팅하고 있는 서버 프로세스에 연결을 요청합니다.

구문

public ConnectionStatus Connect(string endpoint, int remoteTcpPort, int listenPort, ConnectionToken token)

파라미터

endpoint

연결할 게임 세션의 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는 개발자가 정의합니다.

유형: 정수

필수 항목 여부: 예

반환 값

이 메서드는 아무것도 반환하지 않습니다.