如何在启动客户端或主机之前检查主机是否存在

时间:2016-06-05 20:53:38

标签: c# networking unity3d server localhost

我正在尝试让我的多人游戏在加载场景后立即连接到服务器,但我不知道如何检查主机是否已经存在,所以我知道是否要调用函数StartHost( )或StartClient()。

我试过了:

  1. 创建一个名为hostExists的布尔SyncVar,当其中一个播放器调用StartHost()时设置为true,这样如果hostExists等于true,将调用StartClient(),但这不起作用。
  2. 使用OnFailedToConnect()函数,这样如果连接失败,因为已经存在主机,该函数将调用StartClient(),但这不起作用,因为只有当函数被调用时才会调用StartClient()函数失败。
  3. 我仍然是网络新手,我一直在研究网络,找到这个答案。是否有任何Unity类可以让我进行简单的ping检查?提前谢谢你回答我的问题。

1 个答案:

答案 0 :(得分:1)

我想说如果你有办法提取IP(或其他一些玩家信息),可以进行简单的ping检查,看看它们是否存在并持有“主机值”。用bool切换它:)

相关问题