无法使用外部IP连接到主机

时间:2019-05-05 20:56:19

标签: c# unity3d game-development unity3d-unet

所以我正在使用UNET进行多人游戏。 我没有使用Unity Multiplayer Service。 我正在使用资产商店中的网络大厅示例。

我的流程如下: 您创建一个房间(对我的服务器的HTTP请求,该请求使用Player的IP在数据库上创建一条记录)。我通过https://api.ipify.org?format=json上的GET请求获得了IP。 到目前为止,一切都很好,主持人可以选择角色并等待其他玩家连接。

在客户端(我的游戏的构建)上,当按列表服务器(它是数据库中的json)时,我可以看到主机创建的服务器。

因此,当您单击创建房间按钮时:

public void OnClickCreateGame()
{
    lobbyManager.StartHost();
}

-LobbyManager-

public override void OnStartHost()
{
    base.OnStartHost();

    ChangeTo(lobbyPanel);
    backDelegate = StopHostClbk;
    SetServerInfo("Hosting", ip);
}

在列出的服务器上单击加入时:

public void JoinMatch()
{
    lobbyManager.ChangeTo(lobbyManager.lobbyPanel);

    lobbyManager.networkAddress = ip; //SET FROM DATABASE, IS CORRECT
    lobbyManager.StartClient();

    lobbyManager.backDelegate = lobbyManager.StopClientClbk;
    lobbyManager.DisplayIsConnecting();

    lobbyManager.SetServerInfo("Connecting...", lobbyManager.ip);
}

当我按加入时,它只是说正在连接...然后踢客户。

我重复一遍,我不想使用Unity的多人游戏服务。

非常感谢您。

0 个答案:

没有答案