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

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

新規登録して質問してみよう
ただいま回答率
87.20%
Photon Cloud

Photon Cloudは、オンラインゲーム開発向けネットワークエンジン。リアルタイムマルチプレイ通信のプラットフォームであるPhotonの一つです。ネットワーク通信によるオンラインゲームを開発・運営するために必要なツールがサーバー環境に構築されています。

解決済

Mac向けアプリのPhoton接続ができない

takashi.f
takashi.f

総合スコア24

Photon Cloud

Photon Cloudは、オンラインゲーム開発向けネットワークエンジン。リアルタイムマルチプレイ通信のプラットフォームであるPhotonの一つです。ネットワーク通信によるオンラインゲームを開発・運営するために必要なツールがサーバー環境に構築されています。

1回答

0評価

0クリップ

146閲覧

投稿2022/06/04 10:01

編集2022/06/05 23:24

UnityでMAC用のソフトウェアを開発してます。
Unity上でアプリを動かした際はPhotonに接続できるのですが、ビルドしたものはPhotonに接続できず困っています。
原因と解決策がわかればご教授頂きたいです。
Unityのエディタはバージョン2021.3.4f1を使っています。

コードは下記のとおりです。
public override void OnDisconnected(DisconnectCause cause)のcauseに入っているエラーは下記でした。
DnsExceptionOnConnect

using Photon.Pun; using Photon.Realtime; using UnityEngine; using TMPro; using UnityEngine.UI; public class MatchmakingView : MonoBehaviourPunCallbacks { [SerializeField] private string gameVersion = "0.1"; private string nickName = "Trainer"; [SerializeField] private string roomName = "TestRoom"; [SerializeField] private TMP_InputField passwordInputField = default; [SerializeField] private Button joinRoomButton = default; [SerializeField] Text statusText; [SerializeField] Text btnText; private CanvasGroup canvasGroup; public static bool roomenterdflag = false; public BPM BPM; void Awake() { PhotonNetwork.AutomaticallySyncScene = true; PhotonNetwork.GameVersion = gameVersion; PhotonNetwork.NickName = nickName; } private void Start() { canvasGroup = GetComponent<CanvasGroup>(); // パスワードを入力する前は、ルーム参加ボタンを押せないようにする joinRoomButton.interactable = false; passwordInputField.onValueChanged.AddListener(OnPasswordInputFieldValueChanged); joinRoomButton.onClick.AddListener(OnJoinRoomButtonClick); } public override void OnJoinedRoom() { bool enter = false; foreach (var p in PhotonNetwork.PlayerListOthers) { if (p.NickName == "Student") { enter = true; } } if (enter) { statusText.text = "生徒はログイン済みです"; Invoke(nameof(DelayMethod), 3.0f); ; BPM.bpm_rpc_match(); } else { statusText.text = "生徒のログインを待機中"; } } public override void OnPlayerEnteredRoom(Player newPlayer) { bool enter = false; foreach (var p in PhotonNetwork.PlayerListOthers) { if (p.NickName == "Student") { enter = true; } } if (enter) { statusText.text = "生徒がログインしました"; BPM.bpm_rpc_match(); Invoke(nameof(DelayMethod), 3.0f); ; } } private void OnPasswordInputFieldValueChanged(string value) { // パスワードを6桁入力した時のみ、ルーム参加ボタンを押せるようにする value = value.Replace(" ", "").Replace(" ", ""); joinRoomButton.interactable = (value.Length == 11); } private void OnJoinRoomButtonClick() { if (!PhotonNetwork.InRoom) { switch (Application.internetReachability) { case NetworkReachability.NotReachable: //("ネットワークには到達不可"); canvasGroup.interactable = true; btnText.text = "Login"; statusText.text = "オンライン接続してください"; Invoke(nameof(DelayMethod), 3.0f); ; break; default: joinRoomButton.interactable = true; btnText.text = "Logout"; PhotonNetwork.ConnectUsingSettings(); passwordInputField.interactable = false; break; } } else { btnText.text = "Login"; canvasGroup.interactable = true; PhotonNetwork.Disconnect(); Invoke(nameof(DelayMethod), 3.0f); ; } } public override void OnConnectedToMaster() { // ルーム参加処理中は、入力できないようにする // canvasGroup.interactable = false; // ルームを非公開に設定する(新規でルームを作成する場合) var roomOptions = new RoomOptions(); // roomOptions.MaxPlayers = 2; roomOptions.IsVisible = false; // パスワードと同じ名前のルームに参加する(ルームが存在しなければ作成してから参加する) PhotonNetwork.JoinOrCreateRoom(roomName, roomOptions, TypedLobby.Default); roomenterdflag = true; // Debug.Log("パスワードと同じ名前のルームに参加する"); } void DelayMethod() { statusText.text = ""; } public override void OnJoinRoomFailed(short returnCode, string message) { canvasGroup.interactable = true; btnText.text = "Login"; statusText.text = "サーバーへの接続に失敗しました"; Invoke(nameof(DelayMethod), 3.0f); ; } public override void OnDisconnected(DisconnectCause cause) { statusText.text = "ログアウトしました"; passwordInputField.text = string.Empty; btnText.text = "Login"; passwordInputField.interactable = true; } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

bboydaisuke

2022/06/04 11:00

「Photon に接続できない」というのは何を見てそう判断しましたか?
takashi.f

2022/06/04 14:36 編集

質問を修正しました。 よろしくお願いします
bboydaisuke

2022/06/04 16:14

cause の中にどうして切断したか情報が入ってますよ。
takashi.f

2022/06/05 05:25

causeの中の情報確認し、質問に追記しました。 もし解決策わかればご教示いただきたく宜しくお願いします。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

Photon Cloud

Photon Cloudは、オンラインゲーム開発向けネットワークエンジン。リアルタイムマルチプレイ通信のプラットフォームであるPhotonの一つです。ネットワーク通信によるオンラインゲームを開発・運営するために必要なツールがサーバー環境に構築されています。