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

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

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

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

Q&A

解決済

1回答

345閲覧

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

takashi.f

総合スコア45

Photon Cloud

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

0グッド

0クリップ

投稿2022/06/04 10:01

編集2022/06/05 02:16

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; } }

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

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

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

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

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

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の中の情報確認し、質問に追記しました。 もし解決策わかればご教示いただきたく宜しくお願いします。
guest

回答1

0

自己解決

Xcodeでビルドする際に、App SandboxのIncoming Connections(Server)
とOutgoing Connections(Client)のチェックボックスにチェックをしていかなかったことが原因でした。

投稿2022/06/05 14:24

takashi.f

総合スコア45

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問