質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

タイムアウト

タイムアウトはイベント発生から完了までに掛かる経過時間に対する一定の待ち時間を指します。また、特定の時間が経過された場合に発生するイベントを指すこともあります。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

2485閲覧

クライアントが毎回タイムアウトする | Unity Photon Networking 2 | PUN2

Yukirr4_

総合スコア728

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

タイムアウト

タイムアウトはイベント発生から完了までに掛かる経過時間に対する一定の待ち時間を指します。また、特定の時間が経過された場合に発生するイベントを指すこともあります。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/05/17 07:49

編集2020/05/17 07:50

マルチプレイのシーンを起動して約10秒後に毎回タイムアウトします。
僕のゲームはシーンAでロビーに入り、シーンBでゲームをプレイする構造です。


以下がコードです。

シーンA

C#

1//Called by button 2public void Play() 3{ 4 PhotonNetwork.ConnectUsingSettings(); 5} 6 7public override void OnConnectedToMaster() 8{ 9 PhotonNetwork.KeepAliveInBackground = 3f; 10 PhotonNetwork.CreateRoom("room1"); 11} 12 13public override void OnCreatedRoom(){ 14 PhotonNetwork.IsMessageQueueRunning = false; 15 Load(); 16} 17 18void Load() 19{ 20 SceneManager.LoadSceneAsync("Game"); 21}

シーンB

C#

1void Start() 2{ 3 PhotonNetwork.IsMessageQueueRunning = true; 4} 5 6public override void OnDisconnected(DisconnectCause cause) 7{ 8 Debug.Log("Called"); 9}

このようにシーンAでマスターサーバーに接続して、ルームを作成し、作成が完了した時にシーンBを実行するようにしています。
シーンBでは、PhotonNetwork.IsMessageQueueRunning = true;を実行してマルチプレイの使用を開始します。


しかし、これだとシーンBが開始してから10~15秒の間にタイムアウトが発生してしまいます。
何が原因かもよくわかっていないので、このまま質問させていただきました。


以下がデバッグです。

[12.215] SupportLogger OnJoinedRoom().

[23.147] SupportLogger OnLeftRoom().

[23.148] SupportLogger OnDisconnected(ServerTimeout).

[23.149] SupportLogger Rtt(variance): 14(4). Since receive: 2957ms. Longest send: 0ms. Stats elapsed: 16sec. Longest delta between Send: 108ms Dispatch: 11814ms. Longest callback OnEv: 255=1ms OnResp: 0=13ms. Calls of Send: 65 Dispatch: 19. Ping min/max: 14/14

There are no audio listeners in the scene. Please ensure there is always one audio listener in the scene

最後のログはPhoton Viewコンポーネントを持つプレイヤーオブジェクトがタイムアウトにより消されたために発生したと考えています。

何がいけないのでしょうか?wifiはいい環境だとは思うのですが...
他に必要な情報があればコメントください。

どなたか回答お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

解決にはなっていませんが、
PUN2の使用をあきらめてPhoton Boltを使用することにしました。

Boltではタイムアウトすることがなくなったので良かったのですが、PUN2では何がいけなかったんでしょう。。。

投稿2020/08/07 14:11

Yukirr4_

総合スコア728

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問