在Unity的新网络中,我在同一WiFi网络上并排拥有两台计算机。
我正在使用NetworkManager
,试图通过LAN 将它们联网。
TBC,与全球Internet网络完全无关,并且不在本地主机上。
左侧是 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
答案 0 :(得分:4)
在使用Unity提供的默认Network Manager
时,您必须确保“网络地址”字段包含要用作服务器的计算机的本地IP(由路由器提供)。在您的情况下,该IP等于192.168.0.26
,可以在机器的网络配置中找到。
从现在开始,每个客户端/服务器实例都必须使用此IP地址,才能知道连接到哪里。
在创建服务器时,我个人建议使用networkManager.StartHost();
而不是networkManager.StartServer();
,因为您的服务器可能还需要一个客户端。如果不是这种情况,请忽略此声明。
最后,如果您能胜任该任务,则可以考虑制作自己的Custom Networking Manager
,该继承自Network Manager
。这样,您就可以进一步控制应用程序的网络。