Unity NetworkManager组件,用于LAN的IP?

时间:2018-07-17 01:27:53

标签: unity3d networking

在Unity的新网络中,我在同一WiFi网络上并排拥有两台计算机。

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

TBC,与全球Internet网络完全无关,并且不在本地主机上。

enter image description here

左侧是 192.168.0.26

右侧是 192.168.0.120

假设我们希望剩下的一个成为服务器,即只需使用

    Debug.Log("I'm now a server");
    networkManager.StartServer();

说我们希望合适的人成为客户(所以StartClient()。)

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

我绝对确保两台计算机都为Unity编辑器打开了防火墙(真是令人讨厌)。

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

有四个排列。

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


脚注:对于在此处进行搜索的任何人,请注意有关Unet的重要提示 ... https://stackoverflow.com/a/51759299/294884

1 个答案:

答案 0 :(得分:4)

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

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

最后,如果您能胜任该任务,则可以考虑制作自己的Custom Networking Manager,该继承自Network Manager。这样,您就可以进一步控制应用程序的网络。