0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Strix】 PhotonからStrix Cloudに移行してみた ~接続編~

Last updated at Posted at 2021-07-29

今記事は以下のの記事の接続編です。

まだメインの記事を読んでない方はそちらから読んでいただけると幸いです。

Strix Cloudのサーバー接続までを解説していきたいと思います。

##接続の基本
Strixのサーバー全体の仕組みについては以下のようになっています。
image.png

###マスターサーバーへの接続

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で固定です

スクリーンショット 2021-07-22 173043.png

また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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?