Masterserver.UnregisterHost?
Masterserver.UnregisterHost?
我正在尝试从 Masterserver.PollHostData()
中删除旧游戏。当游戏结束时,我 运行 以下脚本客户端仍然从 PollHostData()
.
获取游戏
if(Network.isClient)
{
if (Network.connections.Length == 1)
{
Debug.Log("Disconnecting from server");
Network.CloseConnection(Network.connections[0], true);
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as well.
}
else
{
Debug.Log("Not connected to server");
}
}
else if (Network.isServer)
{
if (Network.connections.Length > 0)
{
Network.Disconnect(1000);
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as well.
}
else
{
Debug.Log("No clients connected.");
Network.Disconnect(0);
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as
}
}
但是,如果客户端重新启动游戏,我将无法再获得上一个游戏的HostData
。我曾尝试在再次轮询之前清除 hostData 但没有成功。创建服务器的玩家没有获得游戏,这很奇怪,因为我在再次分配之前清除了我的 hostData
数组。
我发现一些旧帖子说 UnregisterHost
不起作用,如果是的话我有什么选择?
首先,我不明白为什么
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as well.
到了。因为主服务器有服务器信息,没有客户端信息。
if(Network.isClient)
{
if (Network.connections.Length == 1)
{
Debug.Log("Disconnecting from server");
Network.CloseConnection(Network.connections[0], true);
MasterServer.UnregisterHost(); //Why?
}
else
{
Debug.Log("Not connected to server");
}
}
解决方法是:
在客户端,您需要在从 MasterServer 请求列表之前调用 MasterServer.ClearHostList();
。
我正在尝试从 Masterserver.PollHostData()
中删除旧游戏。当游戏结束时,我 运行 以下脚本客户端仍然从 PollHostData()
.
if(Network.isClient)
{
if (Network.connections.Length == 1)
{
Debug.Log("Disconnecting from server");
Network.CloseConnection(Network.connections[0], true);
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as well.
}
else
{
Debug.Log("Not connected to server");
}
}
else if (Network.isServer)
{
if (Network.connections.Length > 0)
{
Network.Disconnect(1000);
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as well.
}
else
{
Debug.Log("No clients connected.");
Network.Disconnect(0);
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as
}
}
但是,如果客户端重新启动游戏,我将无法再获得上一个游戏的HostData
。我曾尝试在再次轮询之前清除 hostData 但没有成功。创建服务器的玩家没有获得游戏,这很奇怪,因为我在再次分配之前清除了我的 hostData
数组。
我发现一些旧帖子说 UnregisterHost
不起作用,如果是的话我有什么选择?
首先,我不明白为什么
MasterServer.UnregisterHost(); //Tried UnregisterHost() first as well.
到了。因为主服务器有服务器信息,没有客户端信息。
if(Network.isClient)
{
if (Network.connections.Length == 1)
{
Debug.Log("Disconnecting from server");
Network.CloseConnection(Network.connections[0], true);
MasterServer.UnregisterHost(); //Why?
}
else
{
Debug.Log("Not connected to server");
}
}
解决方法是:
在客户端,您需要在从 MasterServer 请求列表之前调用 MasterServer.ClearHostList();
。