为什么我没有被注册为客户?
Why I'm not being registered as a client?
据我所知,当我连接到服务器时,Network.isClient
应该 return true
,特别是在 Unity MasterServer
上。但事实并非如此。
我有这两行代码:
Network.Connect(hostData);
Debug.Log("Is client? " + Network.isClient);
他们在控制台中 return:
//NetworkManager: Running as client. No player ID set yet.
//Is client? False
//NetworkManager: Connected to <my IP:PORT>
//NetworkManager: Set player ID to 1
因为上面写着"Running as client"你会认为我是运行的客户。但是 Network.isClient
是 returning false
。稍后在我的程序中我也调用它,在设置玩家 ID 但 Nework.isClient
仍然 returning false
.
那么这应该如何运作?目前我通过说 !Network.isServer
来规避这个,只要播放器连接就应该没问题。
您需要等待。由于 delays 和其他进程,连接需要一些时间。
您添加代码 OnConnectedToServer 方法并在此处检查。
喜欢
void OnConnectedToServer() {
Debug.Log("Is client? " + Network.isClient);
}
据我所知,当我连接到服务器时,Network.isClient
应该 return true
,特别是在 Unity MasterServer
上。但事实并非如此。
我有这两行代码:
Network.Connect(hostData);
Debug.Log("Is client? " + Network.isClient);
他们在控制台中 return:
//NetworkManager: Running as client. No player ID set yet.
//Is client? False
//NetworkManager: Connected to <my IP:PORT>
//NetworkManager: Set player ID to 1
因为上面写着"Running as client"你会认为我是运行的客户。但是 Network.isClient
是 returning false
。稍后在我的程序中我也调用它,在设置玩家 ID 但 Nework.isClient
仍然 returning false
.
那么这应该如何运作?目前我通过说 !Network.isServer
来规避这个,只要播放器连接就应该没问题。
您需要等待。由于 delays 和其他进程,连接需要一些时间。
您添加代码 OnConnectedToServer 方法并在此处检查。 喜欢
void OnConnectedToServer() {
Debug.Log("Is client? " + Network.isClient);
}