여기에 문서화된 REST 및 SignalR API는 클라이언트 SDK보다 더 복잡합니다. 해당 SDK가 요구 사항을 충족하지 않는 경우가 아니라면 Lobby C++ SDK 또는 Matchmaking C++ SDK를 대신 사용하는 것을 고려하세요.
SignalR Hub에 연결하기
실시간 메시지를 수신하는 첫 번째 단계는 SignalR 클라이언트를 생성하는 것입니다. 클라이언트는 다음 API를 사용하여 HubConnection을 인스턴스화함으로써 SignalR Hub에 대한 연결을 만들 수 있습니다: SignalR Negotiate REST API. 이 API는 SignalR 문서에 설명된 Negotiate API를 구현합니다.클라이언트는
HubConnection을 구축할 때 KeepAliveInterval을 반드시 5초로 설정해야 합니다. 백엔드 서비스는 10초 이내에 keep-alive ping을 수신하지 않은 연결을 시간 초과하여 닫습니다. SignalR 기본 KeepAliveInterval인 15초는 너무 느려서 연결 끊김을 유발합니다. csharp var connection = new HubConnectionBuilder() .WithUrl(hubUrl, options => { /* auth headers */ }) .WithKeepAliveInterval(TimeSpan.FromSeconds(5)) .Build(); SignalR 클라이언트 구성에 대한 자세한 내용은 SignalR 구성 문서를 참조하세요.- SignalR 클라이언트 구현은 URL에서 이 경로의
/negotiate부분을 생략할 것으로 예상합니다(예: HubConnection은...playfabapi.com/pubsub으로 끝나는 URL에 대해 생성되어야 합니다). 1. 이 API를 호출하는 데 필요한 인증 헤더는 이 메서드에 표시된 것처럼HttpConnectionOptions를 통해 SignalR 클라이언트에 전달할 수 있습니다.
메시지 수신을 위한 클라이언트 메서드 구현
메시지를 수신하기 위해 호출될 클라이언트 메서드 구현에 대한 SignalR 클라이언트 문서를 참조하세요. 클라이언트는 아래 클라이언트 메서드에 나열된 모든 메서드를 구현해야 합니다.서버 메서드를 호출하여 세션 시작 및 종료하기
세션 관리를 위한 서버 메서드 호출에 대한 SignalR 클라이언트 문서를 참조하세요. 예를 들어, 허브에 연결되면 StartOrRecoverSession을 호출하여 리소스를 구독하는 데 사용할 수 있는connection handle을 받아야 합니다. 마찬가지로, 세션이 완료되면 EndSession을 호출하세요.
리소스 구독하기
StartOrRecoverSession으로 세션이 시작되면, 반환된connection handle을 사용하여 리소스를 구독하고 메시지 수신을 시작할 수 있습니다.
