【Strix】 Photon에서 Strix Cloud로 마이그레이션해 보았다 ~연결편~

지금 기사는 다음 기사의 연결편입니다.

아직 메인 기사를 읽지 않은 분은 그쪽에서 읽을 수 있으면 다행입니다.

Strix Cloud의 서버 연결까지를 해설하고 싶습니다.

연결의 기본



Strix의 전체 서버 구조는 다음과 같습니다.


마스터 서버에 연결


public void ConnectMasterServer(
    string host,
    int port,
    StrixNetworkConnectEventHandler connectEventHandler,
    StrixNetworkConnectFailedEventHandler errorEventHandler
)

실제로 연결할 때
        public static void Connect() {
            StrixNetwork strixNetwork = StrixNetwork.instance
            LogManager.Instance.Filter = SoftGear.Strix.Net.Logging.Level.INFO;
            strixNetwork.applicationId = "アプリケーションID";
            strixNetwork.playerName = "自身のプレイヤー名";

            strixNetwork.ConnectMasterServer("マスターホスト名", 9122, OnConnect, OnConnectFailed);
        }

        //接続成功時
        void OnConnect(StrixNetworkConnectEventArgs args) {
            Debug.Log("MasterServerに接続しました");
        }

        //接続失敗時
        void OnConnectFailed(StrixNetworkConnectFailedEventArgs args) {
            Debug.Log("MasterServerへの接続に失敗しました");
        }
LogManager.Instance.Filter 로 로그 레벨을 지정할 수 있습니다.
6 단계로 설정할 수 있으므로 원하는대로 설정하십시오.

응용 프로그램 ID는 관리 화면의 빨간색 화살표 부분
마스터 호스트 이름은 파란색 화살표 부분을 입력하십시오.
포트는 기본적으로 9122로 고정



또한 Strix Cloud에서는 이전 코드에 있는 것처럼 성공시, 실패시와 핸들러를 지정하고 있습니다.
이것은 다른 Strix 함수에서도 스테디셀러 방식이므로 신경 쓰면 좋을 것입니다.

코드 예에서는 직접 ID를 대입하고 있습니다만, ScriptableObject를 사용하면 씬에 의존하지 않고 관리하기 쉽기 때문에 추천입니다.

연결 실패 시


    void OnConnectFailed(StrixNetworkConnectFailedEventArgs args) {
        string message = "";

        if (args.cause != null) {
            message += "MasterServerの接続に失敗しました\n";
            message += $"host {args.session.host}, port {args.session.port}, cause {args.cause.Message}";
        }

        Debug.Log(message);
    }
args.session 는 접속 시도시의 세션 정보입니다. 접속에 실패한 호스트명이나 포트등을 여기에서 취득합니다.args.cause.Message 는 연결 실패 원인입니다. 대략 이것으로 원인을 알 수 있습니다.

룸 서버에의 접속(매치 메이킹)은 다음의 기사에서 해설합니다!
【Strix】 Photon에서 Strix Cloud로 마이그레이션해 보았다 ~매치 메이킹편~

참고 링크



초기 설정 정보

샘플 예

StrixNetworkConnectFailedEventArgs

좋은 웹페이지 즐겨찾기