我试着创造一个简单的多人游戏。我已经建立了一个匹配系统,它工作良好,而设备是连接到互联网,即一个在线游说是成功创建。但是,当我试图在没有互联网接入的本地网络上创建一个游说团时,什么都不会发生。
下面是我用来托管游戏的代码:
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事件链接。
我刚开始联合网络,希望有人能指出我做错了什么。谢谢。
发布于 2017-04-21 15:30:49
基本的MatchMaking服务基于连接到统一MatchMaker服务器(https://mm.unet.unity3d.com),该服务器位于internet上,这意味着如果您没有连接到internet,就无法连接到它。解决方案是使用NetworkDiscovery,它允许服务器通过网络发送广播消息,这样客户端就可以“听到”广播,然后连接到发送方。如果您想要一个示例,请检查这个线程。
https://stackoverflow.com/questions/43545782
复制相似问题