Realtime Servers Client API(C#) 참조: 데이터 유형 - 아마존 GameLift

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

Realtime Servers Client API(C#) 참조: 데이터 유형

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

ClientConfiguration

게임 클라이언트가 Realtime 서버에 연결하는 방법에 대한 정보입니다.

목차

ConnectionType

사용할 클라이언트/서버 연결 유형입니다. 보안 또는 비보안을 선택할 수 있습니다. 연결 유형을 지정하지 않는 경우 기본값은 비보안입니다.

참고

TLS 인증서를 사용하는 보안 플릿에서 Realtime 서버에 연결하는 경우 RT_OVER_WSS_DTLS_TLS12 값을 사용해야 합니다.

형식: ConnectionType 열거형 값.

필수 항목 여부: 아니요

ConnectionToken

Realtime 서버와 연결을 요청하는 게임 클라이언트 및/또는 플레이어에 대한 정보입니다.

목차

playerSessionId

새로운 플레이어 세션이 생성되었을 때 Amazon GameLift가 발행한 고유 ID입니다. 플레이어 세션 ID는 PlayerSession 객체에서 지정되며, 이 객체는 GameLift API 작업 StartGameSessionPlacement, CreateGameSession, DescribeGameSessionPlacement 또는 DescribePlayerSessions에 대한 클라이언트 호출에 응답하여 반환됩니다.

유형: 문자열

필수 항목 여부: 예

payload

연결 시 Realtime 서버에 전달할 개발자 정의 정보입니다. 이 정보에는 사용자 지정 로그인 메커니즘에 사용할 수 있는 임의 데이터가 포함됩니다. 예를 들어, 페이로드는 클라이언트가 연결하도록 허용하기 전에 Realtime 서버 스크립트에서 처리할 인증 정보를 제공합니다.

형식: 바이트 배열

필수 항목 여부: 아니요

RTMessage

메시지의 콘텐츠 및 전송 정보입니다. 메시지는 대상 플레이어 또는 대상 그룹을 지정해야 합니다.

목차

opCode

플레이어 움직임 또는 서버 알림과 같은 게임 이벤트 또는 작업을 식별하는 개발자 정의 작업 코드입니다. 메시지의 Op 코드는 제공되는 데이터 페이로드에 컨텍스트를 제공합니다. NewMessage()를 사용하여 생성된 메시지에는 작업 코드가 이미 설정되지 있지만, 언제든지 변경할 수 있습니다.

유형: 정수

필수 항목 여부: 예

targetPlayer

전송되는 메시지의 의도된 수신자인 플레이어를 식별하는 고유 ID입니다. 대상은 서버 자체(서버 ID 사용) 또는 다른 플레이어(플레이어 ID 사용)일 수 있습니다.

유형: 정수

필수 항목 여부: 아니요

targetGroup

전송되는 메시지의 의도된 수신자인 그룹을 식별하는 고유 ID입니다. 그룹 ID는 개발자가 정의합니다.

유형: 정수

필수 항목 여부: 아니요

deliveryIntent

안정적인 TCP 연결 또는 빠른 UDP 채널 중 어떤 방법을 사용하여 메시지를 전송할지를 나타냅니다. NewMessage()를 사용하여 생성된 메시지입니다.

형식: DeliveryIntent enum

유효한 값: FAST | RELIABLE

필수 항목 여부: 예

payload

메시지 콘텐츠입니다. 이 정보는 수반되는 작업 코드를 기반으로 게임 클라이언트에서 처리할 수 있도록 필요에 따라 구조화됩니다. 이 정보에는 게임 상태 데이터 또는 게임 클라이언트 간 또는 게임 클라이언트와 Realtime 서버 간에 통신해야 하는 기타 정보가 포함될 수 있습니다.

형식: 바이트 배열

필수 항목 여부: 아니요

DataReceivedEventArgs

OnDataReceived() 콜백을 통해 제공되는 데이터입니다.

목차

sender

메시지를 시작한 엔터티(플레이어 ID 또는 서버 ID)를 식별하는 고유 ID입니다.

유형: 정수

필수 항목 여부: 예

opCode

플레이어 움직임 또는 서버 알림과 같은 게임 이벤트 또는 작업을 식별하는 개발자 정의 작업 코드입니다. 메시지의 Op 코드는 제공되는 데이터 페이로드에 컨텍스트를 제공합니다.

유형: 정수

필수 항목 여부: 예

data

메시지 콘텐츠입니다. 이 정보는 수반되는 작업 코드를 기반으로 게임 클라이언트에서 처리할 수 있도록 필요에 따라 구조화됩니다. 이 정보에는 게임 상태 데이터 또는 게임 클라이언트 간 또는 게임 클라이언트와 Realtime 서버 간에 통신해야 하는 기타 정보가 포함될 수 있습니다.

형식: 바이트 배열

필수 항목 여부: 아니요

GroupMembershipEventArgs

OnGroupMembershipUpdated() 콜백을 통해 제공되는 데이터입니다.

목차

sender

그룹 멤버십 업데이트를 요청한 플레이어를 식별하는 고유 ID입니다.

유형: 정수

필수 항목 여부: 예

opCode

게임 이벤트 또는 작업을 식별하는 개발자 정의 작업 코드입니다.

유형: 정수

필수 항목 여부: 예

groupId

전송되는 메시지의 의도된 수신자인 그룹을 식별하는 고유 ID입니다. 그룹 ID는 개발자가 정의합니다.

유형: 정수

필수 항목 여부: 예

playerId

지정된 그룹의 현재 멤버인 플레이어 ID의 목록입니다.

형식: 정수 배열

필수 항목 여부: 예

Enums

Realtime Client SDK에 대해 정의된 열거형은 다음과 같이 정의됩니다.

ConnectionStatus
  • CONNECTED - TCP 연결만 사용하여 게임 클라이언트가 Realtime 서버에 연결됩니다. 전송 의도와 상관없이 모든 메시지가 TCP를 통해 전송됩니다.

  • CONNECTED_SEND_FAST - TCP 및 UDP 연결을 사용하여 게임 클라이언트가 Realtime 서버에 연결됩니다. 하지만 UDP를 통해 메시지를 수신하는 기능은 아직 확인되지 않으므로, 결과적으로 게임 클라이언트에 전송되는 모든 메시지는 TCP를 사용합니다.

  • CONNECTED_SEND_AND_RECEIVE_FAST - TCP 및 UDP 연결을 사용하여 게임 클라이언트가 Realtime 서버에 연결됩니다. TCP 또는 UDP를 사용하여 게임 클라이언트가 메시지를 전송하고 수신할 수 있습니다.

  • CONNECTING 게임 클라이언트가 연결 요청을 전송했으며 Realtime 서버가 요청을 처리하는 중입니다.

  • DISCONNECTED_CLIENT_CALL - 게임 클라이언트의 Disconnect() 요청에 응답하여 Realtime 서버에서 게임 클라이언트의 연결이 해제되었습니다.

  • DISCONNECTED - 클라이언트 연결 해제 호출 이외의 다른 이유로 Realtime 서버에서 게임 클라이언트의 연결이 해제되었습니다.

ConnectionType
  • RT_OVER_WSS_DTLS_TLS12 - 보안 연결 유형입니다.

    TLS 인증서가 생성된 GameLift 플릿에서 실행 중인 Realtime 서버에 사용됩니다. 보안 연결을 사용하는 경우 TCP 트래픽은 TLS 1.2를 사용하여 암호화되고 UDP 트래픽은 DTLS 1.2를 사용하여 암호화됩니다.

  • RT_OVER_WS_UDP_UNSECURED - 비보안 연결 유형입니다.

  • RT_OVER_WEBSOCKET - 비보안 연결 유형입니다. 이 값은 더 이상 선호되지 않습니다.

DeliveryIntent
  • FAST - UDP 채널을 사용하여 전송됩니다.

  • RELIABLE - TCP 연결을 사용하여 전송됩니다.