실시간 서버 클라이언트 API (C#) 참조: 액션 - Amazon GameLift

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

실시간 서버 클라이언트 API (C#) 참조: 액션

이 C# Realtime Client API 참조는 Amazon 플릿에 배포된 실시간 서버에서 사용할 멀티플레이어 게임을 준비하는 데 도움이 됩니다. GameLift

Client()

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

구문

public Client(ClientConfiguration configuration)

파라미터

clientConfiguration

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

유형: ClientConfiguration

필수 항목 여부: 아니요

반환 값

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

Connect()

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

구문

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

파라미터

엔드포인트

DNS연결할 게임 세션의 이름 또는 IP 주소. 엔드포인트는 GameSession 객체에 지정되며, AWS SDKAmazon GameLift API 작업 StartGameSessionPlacement또는 에 대한 클라이언트 호출에 대한 응답으로 DescribeGameSessions반환됩니다. CreateGameSession

참고

TLS인증서가 있는 플릿에서 실시간 서버를 실행하는 경우 DNS 이름을 사용해야 합니다.

유형: 문자열

필수 항목 여부: 예

remoteTcpPort

게임 세션에 할당된 TCP 연결의 포트 번호입니다. 이 정보는 GameSession 객체에 지정되며 StartGameSessionPlacementCreateGameSession, 또는 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입니다. IDs그룹은 개발자가 정의합니다.

유형: 정수

필수 여부: 예

반환 값

이 메서드는 아무것도 반환하지 않습니다. 이 요청은 reliable (TCP) 전달 메서드를 사용하여 전송되므로 요청이 실패하면 콜백이 트리거됩니다. OnError()

LeaveGroup()

지정된 그룹의 멤버십에서 플레이어를 제거합니다. 그룹에 더 이상 속하지 않으면 플레이어는 그룹에 전송된 메시지를 수신하지 않으며 전체 그룹에 메시지를 전송할 수 없습니다.

구문

public void LeaveGroup(int targetGroup)

파라미터

targetGroup

플레이어를 제거할 그룹을 식별하는 고유 ID입니다. IDs그룹은 개발자가 정의합니다.

유형: 정수

필수 여부: 예

반환 값

이 메서드는 아무것도 반환하지 않습니다. 이 요청은 reliable (TCP) 전달 메서드를 사용하여 전송되므로 요청이 실패하면 콜백이 트리거됩니다. OnError()

RequestGroupMembership()

지정된 그룹의 플레이어 목록을 게임 클라이언트에 전송하도록 요청합니다. 플레이어가 그룹의 멤버인지 여부와 상관없이 모든 플레이어가 이 정보를 요청할 수 있습니다. 이 요청에 응답하여 멤버십 목록이 OnGroupMembershipUpdated() 콜백을 통해 클라이언트에 전송됩니다.

구문

public void RequestGroupMembership(int targetGroup)

파라미터

targetGroup

멤버십 정보를 가져올 그룹을 식별하는 고유 ID입니다. IDs그룹은 개발자가 정의합니다.

유형: 정수

필수 여부: 예

반환 값

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