【发布时间】: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 与另一个项目隔离,所以也许你会找到评论的代表和其他东西。
【问题讨论】: