Android作为主机不工作,Unity的LLAPI

本文关键字:Unity LLAPI 工作 主机 Android | 更新日期: 2023-09-27 18:07:58

所以我会尽量把这篇文章贴出来。我以前在unity论坛上问过这个问题,但是我还没有找到答案,如果你想要的话,这里是链接。

我有一个服务器端广播和客户端接收消息解析并使用信息连接到服务器的工作演示。

 NetworkTransport.Init();
 NetworkTransport.AddHost(defaultTopology, PORT)
 NetworkTransport.StartBroadcastDiscovery(id,broadcastport,..,..)
 NetworkTransport.Receive(..,..)
 NetworkTransport.Connect(..,..)

等。如果你需要的话,我可以进一步详细说明代码,但就其在PC上的工作而言,我认为代码很好。

当我尝试相同的PC作为服务器,Android作为客户端,如果Android设备作为客户端,他不接收来自服务器的广播,但我可以手动连接(我知道我的本地机器的IP),我可以发送和接收消息。(这是可以的,除了广播问题,这将是很好的修复)

如果Android作为服务器和PC客户端, PC接收到广播,但无法自动或手动连接到Android。

我测试了2个android,结果也很糟糕。客户端没有收到广播,如果我尝试手动连接,服务器没有收到连接事件。主要目标是使用2个机器人。

我搜索了网络和Unity的问题,但我只发现一些人在谈论Android Manifest,但没有确切地说该怎么做。如果你能给我指出正确的方向,我将不胜感激。

也许Android 6的权限与此有关?

我个人认为,机器人不能收到任何东西,直到连接,所以当他作为客户端,他不接收广播,但可以连接,然后工作良好,但作为一个服务器,他不能接收连接。

也许与Android Ports有关?我通常用25001

使用Unity 5.3.5f1

谢谢,对不起,我的英语很差。

编辑:

我换到Unity 5.4来检查Android 6的权限,也不工作了。如果你想试试,这里有个演示是与另一个项目隔离的所以你可能会发现注释委托和其他东西

Android作为主机不工作,Unity的LLAPI

是的,它确实是Android Manifest。我看不出有什么其他的原因说明这行不通。Android 6.0修改了方法权限查询的处理方式。你必须下载Unity 5.4来解决这个问题。