Unity NetworkManager 组件,局域网 IP?

Fat*_*tie 1 networking unity-game-engine

在 Unity 的新网络中,我在同一个 WiFi 网络上并排放置了两台计算机。

使用NetworkManager,我正在尝试通过 LAN将它们联网。

TBC,绝对与全球互联网网络无关,而不是在本地主机上。

在此处输入图片说明

左边是192.168.0.26

右边是192.168.0.120

假设我们希望左边的成为服务器,即简单地使用

    Debug.Log("I'm now a server");
    networkManager.StartServer();
Run Code Online (Sandbox Code Playgroud)

假设我们希望合适的人成为客户(所以,StartClient().)

TBC 我只是查看了两台计算机上的 ipConfig/etc,以获取当前的本地 IP。

我绝对确保两台机器都为 Unity 编辑器打开防火墙(令人恼火的陷阱)。

事实上,您使用哪个“NetworkAddress”(见图)?在两台机器上?

有四种排列。

我只是无法让它们通过 LAN 连接 - 网络地址应该是什么?


脚注:对于在这里使用谷歌搜索的任何人,请注意有关 Unet 的重要提示... /sf/answers/3623150961/

Hri*_*sto 5

Wen 使用Network ManagerUnity 提供的默认值,您必须确保网络地址字段包含要用作服务器的机器的本地 IP(由您的路由器提供)。在您的情况下,此 IP 等于192.168.0.26并且可以在机器的网络配置中找到。
从现在开始,客户端/服务器的每个实例都必须使用这个 IP 地址,以便知道连接到哪里。

我个人在创建服务器时建议使用networkManager.StartHost();代替 ,networkManager.StartServer();因为您的服务器可能还需要一个客户端。如果不是这种情况,请忽略此声明。

最后,如果你能胜任这项任务,你可以考虑制作自己的Custom Networking Manager继承自Network Manager. 这样你就可以更好地控制你的应用程序的网络。

  • 这就是答案!:) (2认同)