Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么双关语不回电话?ProtonNetworking未按预期工作_C#_Unity3d - Fatal编程技术网

C# 为什么双关语不回电话?ProtonNetworking未按预期工作

C# 为什么双关语不回电话?ProtonNetworking未按预期工作,c#,unity3d,C#,Unity3d,我试图用双关语做一些简单的步骤,只需连接到主服务器,然后加入random room。 我已将所有信息记录到控制台,据我所知,我已连接到服务器,但从未调用OnConnectedToMaster using System.Collections; using System.Collections.Generic; using UnityEngine; using Photon; public class RandomMatchmakera : Photon.PunBe

我试图用双关语做一些简单的步骤,只需连接到主服务器,然后加入random room。 我已将所有信息记录到控制台,据我所知,我已连接到服务器,但从未调用OnConnectedToMaster

 using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
     using Photon;
 public class  RandomMatchmakera : Photon.PunBehaviour {

/// <summary>
/// MonoBehaviour method called on GameObject by Unity during early initialization phase.
/// </summary>
void Avake(){
    // this makes sure we can use PhotonNetwork.LoadLevel() on the master client and all clients in the same room sync their level automatically
    PhotonNetwork.automaticallySyncScene = true;


}

void Start(){
    // the following line checks if this client was just created (and not yet online). if so, we connect
    if (PhotonNetwork.connectionStateDetailed == ClientState.PeerCreated)
    {
        Debug.Log ("connecting");
        // Connect to the photon master-server. We use the settings saved in PhotonServerSettings (a .asset file in this project)
        PhotonNetwork.ConnectUsingSettings("0.9");
    }
}

public void OnJoinedLobby()
{
    Debug.Log("DemoAnimator/Launcher: OnJoinedLobby() was called by PUN");
    PhotonNetwork.JoinRandomRoom();
}
public override void OnConnectedToMaster()
{
    Debug.Log("DemoAnimator/Launcher: OnConnectedToMaster() was called by PUN");
    PhotonNetwork.JoinRandomRoom();
}

public override void OnDisconnectedFromPhoton()
{

    Debug.LogWarning("DemoAnimator/Launcher: OnDisconnectedFromPhoton() was called by PUN");        
}

public override void OnPhotonRandomJoinFailed(object[] codeAndMsg){
    Debug.LogWarning("DemoAnimator/Launcher: Failing joining random room");
    PhotonNetwork.CreateRoom (null, new RoomOptions (){ MaxPlayers = 4 }, null);
}
public override void OnJoinedRoom(){
    Debug.LogWarning("DemoAnimator/Launcher: Joined room");
}


public void OnFailedToConnectToPhoton(object parameters)
{
    Debug.Log("OnFailedToConnectToPhoton. StatusCode: " + parameters + " ServerAddress: " + PhotonNetwork.ServerAddress);
}
}
使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
利用光子;
公共类RandomMatchmakera:Photon.punBehavior{
/// 
///在早期的初始化阶段,Unity对GameObject调用了MonoBehavior方法。
/// 
void Avake(){
//这确保我们可以在主客户端上使用PhotonNetwork.LoadLevel(),并且同一房间中的所有客户端自动同步其级别
PhotonNetwork.automaticallySyncScene=true;
}
void Start(){
//下面一行检查此客户端是否刚刚创建(尚未联机)。如果是,我们将连接
if(PhotonNetwork.connectionStateDetailed==ClientState.PeerCreated)
{
Debug.Log(“连接”);
//连接到光子主服务器。我们使用PhotonServerSettings(此项目中的.asset文件)中保存的设置
PhotoNetwork.连接使用设置(“0.9”);
}
}
JoinedLobble()上的公共无效
{
Log(“PUN调用了DemoAnimator/Launcher:onJoinedLobble());
PhotonNetwork.JoinRandomRoom();
}
公共覆盖无效OnConnectedToMaster()
{
Log(“双关语调用了DemoAnimator/Launcher:OnConnectedToMaster());
PhotonNetwork.JoinRandomRoom();
}
公共覆盖无效OnDisconnectedFromPhoton()
{
LogWarning(“PUN调用了DemoAnimator/Launcher:OnDisconnectedFromPhoton()”;
}
公共重写无效OnPhotonRandomJoinFailed(对象[]codeAndMsg){
Debug.LogWarning(“DemoAnimator/Launcher:未能加入random room”);
PhotonNetwork.CreateRoom(null,newRoomOptions(){MaxPlayers=4},null);
}
公共覆盖void OnJoinedRoom(){
调试日志警告(“DemoAnimator/Launcher:Joined room”);
}
public void OnFailedToConnectToPhoton(对象参数)
{
Debug.Log(“OnFailedToConnectToPhoton.StatusCode:+parameters+”服务器地址:+PhotonNetwork.ServerAddress”);
}
}
这是日志


我刚刚复制粘贴了您的解决方案,并成功调用了该解决方案。假设您使用的是PUN asset和Marco Polo示例中的PhotonTutorials,我认为您没有引用项目中的RandomMatchmakera脚本。

我希望这将对其他人有所帮助。对我来说,问题在于我所在的地区。我已将我的区域选择为“无”,而不是指定为特定区域。因此,找到

PhotonServer设置


如果我没有弄错PhotoNetwork,请将该区域归档并更改为特定区域,例如EU、Kr等。

当您自托管光子时,将使用ConnectUsingSettings()。编辑:看起来您成功通过了操作230(身份验证)并从服务器收到了您的唯一ID。此外,您还访问了GameServer。据我从文档中了解,此函数连接到光子云,我看不到任何问题,如果您希望Connect拥有主机,则必须使用ConnectToMaster(),问题是我无法在ConnectedToMaster上获得回调。请删除if(photoNetwork.connectionStateDetailed==ClientState.PeerCreated)试着重新灌输同样的思想。