Unity:本地(LAN)对接会错误
Posted
技术标签:
【中文标题】Unity:本地(LAN)对接会错误【英文标题】:Unity: Local (LAN) MatchMaking error 【发布时间】:2017-04-21 14:52:33 【问题描述】:我正在尝试创建一个简单的多人游戏。我已经设置了一个配对系统,当设备连接到互联网时它工作正常,即成功创建了一个在线大厅。但是当我尝试在无法访问互联网的本地网络上创建一个大厅时,什么也没有发生。
这是我用于托管游戏的代码:
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
事件相关联。
我是统一网络的新手,希望有人能指出我做错了什么。 谢谢。
【问题讨论】:
在编辑器中运行应用程序时检查控制台,如果有错误则在问题中添加错误。 @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 服务是基于连接到 unity MatchMaker 服务器 (https://mm.unet.unity3d.com) 并且该服务器位于互联网上,这意味着如果您没有连接到互联网,您将无法连接到它。解决方案是使用NetworkDiscovery,让您的服务器通过网络发送广播消息,以便客户端可以“听到”广播,然后连接到发送者。如果您想要样品,请查看此thread。
【讨论】:
以上是关于Unity:本地(LAN)对接会错误的主要内容,如果未能解决你的问题,请参考以下文章
Android平台GB28181设备接入端对接编码前后音视频源类型浅析