【问题标题】:Android as host not working, Unity LLAPIAndroid 作为主机不起作用,Unity LLAPI
【发布时间】:2016-09-22 18:21:25
【问题描述】:

所以我会尽力正确地发布这个。我之前在统一论坛上问过这个问题,但我还没有找到答案,如果你想要的话,这里是link

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

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

等等。如果您愿意,我可以进一步详细介绍代码,但就其在 PC 上的工作而言,我认为代码很好。

当我尝试使用 PC 作为服务器,Android 作为客户端时,如果 Android 设备作为客户端,他不会收到来自服务器的广播,但我可以手动连接(i知道我的本地机器的 IP),我可以发送和接收消息。(这没关系,除了广播问题很好解决)

如果Android充当服务器和PC客户端,PC接收到广播但不能自动或手动连接到Android。

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

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

Android 6 权限也可能与此有关?

我个人认为android在连接之前什么都收不到,所以当他作为客户端时他不会收到广播但可以连接然后工作正常,但作为服务器他无法接收连接。

也许与 Android 端口有关?我一般用25001。

使用 Unity 5.3.5f1

感谢并为我糟糕的英语感到抱歉。

编辑: 我更改为 Unity 5.4 以检查 Android 6 权限,但也无法正常工作。 如果你想尝试,你有一个演示 here 与另一个项目隔离,所以也许你会找到评论的代表和其他东西。

【问题讨论】:

    标签: c# android unity3d


    【解决方案1】:

    是的,它确实是 Android Manifest。我看不出这不起作用的其他原因。方法权限查询在 Android 6.0 上处理更改。您必须下载 Unity 5.4 才能解决此问题。

    【讨论】:

    • Android Manifest 是我的第一个想法,我会尽量让你知道,反正我只使用 Internet 权限(据我所知),一点也不危险,需要询问运行时。
    • 我相信权限的东西现在是通过 Android 6 中的代码完成的,而不是来自 Manifest。
    • 哦,我虽然这只是危险的权限,下载 5.4.. :)
    • 没关系。让我知道下载 5.4 后是否有效。它应该。否则,我将向 Unity 提交错误报告。
    • 肯定不行,我尝试尽可能多地隔离网络部分并制作了一个 NetworkDemo。如果你有时间测试你是否工作会很好。也许问题出在我的配置、我的路由器、我的端口……等等,而不是 Unity 错误。 dropbox.com/s/ig3z9z9iljt0wl4/NetTest.rar?dl=0
    猜你喜欢
    • 1970-01-01
    • 2015-05-06
    • 1970-01-01
    • 2014-02-16
    • 1970-01-01
    • 2012-06-01
    • 2017-10-26
    • 1970-01-01
    • 2015-07-29
    相关资源
    最近更新 更多