質問編集履歴

3

エラー内容を追記

2022/06/05 02:16

投稿

takashi.f
takashi.f

スコア45

test CHANGED
File without changes
test CHANGED
@@ -5,8 +5,8 @@
5
5
 
6
6
 
7
7
  コードは下記のとおりです。
8
- public override void OnDisconnected(DisconnectCause cause)に記載の処理が実行されていたので
8
+ public override void OnDisconnected(DisconnectCause cause)のcause入っているエラーは下記でし
9
- Photonに接続できないと判断しました。
9
+ DnsExceptionOnConnect
10
10
 
11
11
 
12
12
 

2

コメントアウトをしている個所を一部削除

2022/06/04 14:43

投稿

takashi.f
takashi.f

スコア45

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,6 @@
30
30
 
31
31
 
32
32
  private CanvasGroup canvasGroup;
33
- // private byte MaxPlayers_ = 2;
34
33
 
35
34
  public static bool roomenterdflag = false;
36
35
  public BPM BPM;
@@ -55,14 +54,14 @@
55
54
 
56
55
  passwordInputField.onValueChanged.AddListener(OnPasswordInputFieldValueChanged);
57
56
  joinRoomButton.onClick.AddListener(OnJoinRoomButtonClick);
58
- //Debug.Log(" // パスワードを入力する前は、ルーム参加ボタンを押せないようにする");
57
+
59
58
  }
60
59
 
61
60
 
62
61
 
63
62
  public override void OnJoinedRoom()
64
63
  {
65
- //int playerCount = PhotonNetwork.CurrentRoom.PlayerCount;
64
+
66
65
  bool enter = false;
67
66
  foreach (var p in PhotonNetwork.PlayerListOthers)
68
67
  {
@@ -142,8 +141,7 @@
142
141
 
143
142
  btnText.text = "Login";
144
143
  canvasGroup.interactable = true;
145
- // statusText.text = "ログアウトしました";
146
- PhotonNetwork.Disconnect();
144
+ PhotonNetwork.Disconnect();
147
145
  Invoke(nameof(DelayMethod), 3.0f); ;
148
146
 
149
147
  }

1

コードと、Photonに接続できないと判断した理由を追記

2022/06/04 14:34

投稿

takashi.f
takashi.f

スコア45

test CHANGED
File without changes
test CHANGED
@@ -2,3 +2,194 @@
2
2
  Unity上でアプリを動かした際はPhotonに接続できるのですが、ビルドしたものはPhotonに接続できず困っています。
3
3
  原因と解決策がわかればご教授頂きたいです。
4
4
  Unityのエディタはバージョン2021.3.4f1を使っています。
5
+
6
+
7
+ コードは下記のとおりです。
8
+ public override void OnDisconnected(DisconnectCause cause)に記載の処理が実行されていたので
9
+ Photonに接続できないと判断しました。
10
+
11
+
12
+
13
+ ```ここに言語を入力
14
+
15
+ using Photon.Pun;
16
+ using Photon.Realtime;
17
+ using UnityEngine;
18
+ using TMPro;
19
+ using UnityEngine.UI;
20
+ public class MatchmakingView : MonoBehaviourPunCallbacks
21
+ {
22
+ [SerializeField] private string gameVersion = "0.1";
23
+ private string nickName = "Trainer";
24
+ [SerializeField] private string roomName = "TestRoom";
25
+
26
+ [SerializeField] private TMP_InputField passwordInputField = default;
27
+ [SerializeField] private Button joinRoomButton = default;
28
+ [SerializeField] Text statusText;
29
+ [SerializeField] Text btnText;
30
+
31
+
32
+ private CanvasGroup canvasGroup;
33
+ // private byte MaxPlayers_ = 2;
34
+
35
+ public static bool roomenterdflag = false;
36
+ public BPM BPM;
37
+
38
+
39
+
40
+ void Awake()
41
+ {
42
+ PhotonNetwork.AutomaticallySyncScene = true;
43
+ PhotonNetwork.GameVersion = gameVersion;
44
+ PhotonNetwork.NickName = nickName;
45
+
46
+ }
47
+
48
+
49
+ private void Start()
50
+ {
51
+ canvasGroup = GetComponent<CanvasGroup>();
52
+
53
+ // パスワードを入力する前は、ルーム参加ボタンを押せないようにする
54
+ joinRoomButton.interactable = false;
55
+
56
+ passwordInputField.onValueChanged.AddListener(OnPasswordInputFieldValueChanged);
57
+ joinRoomButton.onClick.AddListener(OnJoinRoomButtonClick);
58
+ //Debug.Log(" // パスワードを入力する前は、ルーム参加ボタンを押せないようにする");
59
+ }
60
+
61
+
62
+
63
+ public override void OnJoinedRoom()
64
+ {
65
+ //int playerCount = PhotonNetwork.CurrentRoom.PlayerCount;
66
+ bool enter = false;
67
+ foreach (var p in PhotonNetwork.PlayerListOthers)
68
+ {
69
+ if (p.NickName == "Student")
70
+ {
71
+ enter = true;
72
+ }
73
+ }
74
+
75
+ if (enter)
76
+ {
77
+ statusText.text = "生徒はログイン済みです";
78
+ Invoke(nameof(DelayMethod), 3.0f); ;
79
+ BPM.bpm_rpc_match();
80
+ }
81
+ else
82
+ {
83
+ statusText.text = "生徒のログインを待機中";
84
+ }
85
+ }
86
+
87
+ public override void OnPlayerEnteredRoom(Player newPlayer)
88
+ {
89
+ bool enter = false;
90
+ foreach (var p in PhotonNetwork.PlayerListOthers)
91
+ {
92
+ if (p.NickName == "Student")
93
+ {
94
+ enter = true;
95
+ }
96
+ }
97
+ if (enter)
98
+ {
99
+ statusText.text = "生徒がログインしました";
100
+ BPM.bpm_rpc_match();
101
+ Invoke(nameof(DelayMethod), 3.0f); ;
102
+ }
103
+
104
+ }
105
+
106
+
107
+ private void OnPasswordInputFieldValueChanged(string value)
108
+ {
109
+ // パスワードを6桁入力した時のみ、ルーム参加ボタンを押せるようにする
110
+ value = value.Replace(" ", "").Replace(" ", "");
111
+ joinRoomButton.interactable = (value.Length == 11);
112
+ }
113
+
114
+
115
+ private void OnJoinRoomButtonClick()
116
+ {
117
+ if (!PhotonNetwork.InRoom)
118
+ {
119
+
120
+
121
+ switch (Application.internetReachability)
122
+ {
123
+ case NetworkReachability.NotReachable:
124
+ //("ネットワークには到達不可");
125
+
126
+ canvasGroup.interactable = true;
127
+ btnText.text = "Login";
128
+ statusText.text = "オンライン接続してください";
129
+ Invoke(nameof(DelayMethod), 3.0f); ;
130
+
131
+ break;
132
+ default:
133
+ joinRoomButton.interactable = true;
134
+ btnText.text = "Logout";
135
+ PhotonNetwork.ConnectUsingSettings();
136
+ passwordInputField.interactable = false;
137
+ break;
138
+ }
139
+ }
140
+ else
141
+ {
142
+
143
+ btnText.text = "Login";
144
+ canvasGroup.interactable = true;
145
+ // statusText.text = "ログアウトしました";
146
+ PhotonNetwork.Disconnect();
147
+ Invoke(nameof(DelayMethod), 3.0f); ;
148
+
149
+ }
150
+ }
151
+
152
+
153
+
154
+ public override void OnConnectedToMaster()
155
+ {
156
+ // ルーム参加処理中は、入力できないようにする
157
+ // canvasGroup.interactable = false;
158
+
159
+ // ルームを非公開に設定する(新規でルームを作成する場合)
160
+ var roomOptions = new RoomOptions();
161
+ // roomOptions.MaxPlayers = 2;
162
+ roomOptions.IsVisible = false;
163
+
164
+ // パスワードと同じ名前のルームに参加する(ルームが存在しなければ作成してから参加する)
165
+ PhotonNetwork.JoinOrCreateRoom(roomName, roomOptions, TypedLobby.Default);
166
+ roomenterdflag = true;
167
+ // Debug.Log("パスワードと同じ名前のルームに参加する");
168
+ }
169
+
170
+ void DelayMethod()
171
+ {
172
+ statusText.text = "";
173
+ }
174
+
175
+
176
+ public override void OnJoinRoomFailed(short returnCode, string message)
177
+ {
178
+ canvasGroup.interactable = true;
179
+ btnText.text = "Login";
180
+ statusText.text = "サーバーへの接続に失敗しました";
181
+ Invoke(nameof(DelayMethod), 3.0f); ;
182
+ }
183
+
184
+
185
+ public override void OnDisconnected(DisconnectCause cause)
186
+ {
187
+ statusText.text = "ログアウトしました";
188
+ passwordInputField.text = string.Empty;
189
+ btnText.text = "Login";
190
+ passwordInputField.interactable = true;
191
+
192
+ }
193
+
194
+ }
195
+ ```