2017-04-21 81 views
0

我正在尝试创建一个简单的多人游戏。我已经建立了一个配对系统,并且在设备与互联网连接时工作正常,即在线大厅已成功创建。但是,当我尝试在没有互联网接入的本地网络上创建大厅时,没有任何反应。Unity:本地(局域网)匹配错误

这里是我使用的主机游戏的代码:

void Start() 
{ 
    netManager = NetworkManager.singleton; 
    if(netManager.matchMaker == null) 
    { 
     netManager.StartMatchMaker(); 
    } 

    roomName = "MyGameRoom"; 
    roomSize = 12; 
} 

public void CreateRoom() 
{ 
    if (roomName != "" && roomName != null) 
    { 
     Debug.Log("Creating Room:" + roomName); 
     netManager.matchMaker.CreateMatch(roomName, roomSize, true, "", "", "", 0, 0, netManager.OnMatchCreate); 
    } 
} 

现在,如果设备连接到互联网,游戏成功举办。但是,如果设备连接到没有互联网服务的WiFi,则在调用CreateRoom方法时不会发生任何事情。

CreateRoom()方法与按钮的onClick事件相关联。

我是新来团结网络,希望有人能指出我做错了什么。 谢谢。

+0

在编辑器中运行应用程序时检查控制台,并在出现错误时向错误添加错误。 –

+0

@ itay_421没有错误,这是控制台说的................'MatchMakingClient Create:https://mm.unet.unity3d.com/json/reply/CreateMatchRequest UnityEngine.Networking.Match.NetworkMatch:CreateMatch(String,UInt32,Boolean,String,String,String,Int32,Int32,DataResponseDelegate'1)' –

回答

1

基本的MatchMaking服务基于连接到统一的MatchMaker服务器(https://mm.unet.unity3d.com),并且此服务器位于Internet上,这意味着如果您未连接到Internet,则无法连接到它。解决方案是使用NetworkDiscovery,它可以让您的服务器通过网络发送广播消息,以便客户端可以“听到”广播,然后连接到发件人。如果你想要样品检查这个thread