我正在尝试创建一个简单的多人游戏。我已经设置了一个配对系统,当设备与互联网连接时它工作正常,即成功创建了一个在线大厅。但是当我尝试在没有互联网接入的本地网络上创建一个大厅时,没有任何反应。
以下是我用于托管游戏的代码:
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 :(得分:1)
基本MatchMaking服务基于连接到Unity MatchMaker服务器(https://mm.unet.unity3d.com),此服务器位于互联网上,这意味着如果您未连接到互联网,则无法连接到它。解决方案是使用NetworkDiscovery让您的服务器通过网络发送广播消息,以便客户端可以“听到”广播,然后连接到发送者。如果您想要样本,请查看thread。