【发布时间】:2015-12-07 16:42:52
【问题描述】:
我有一个为 Android 和 iOS 平台构建的 Unity 项目。我想检查桌面、Android 和 iOS 设备上的互联网连接。我已经阅读了三种不同的解决方案:
Ping 某些东西(例如 Google)- 我完全不喜欢这样的决定,而且我读过关于 Android 上的错误。
Application.internetReachability- 根据 Unity 的文档,此功能将仅确定我有可能连接到 Internet(它不保证真正的连接)。Network.TestConnection()- 如果我没有 Internet 连接,我的应用程序将失败。所以这也不正确。
如何确定我在 Unity 中是否有互联网连接?
【问题讨论】:
-
为什么
Network.TestConnection()会导致您的应用程序失败?似乎有点错误处理很容易捕捉到这一点。 -
请用 ping 方法链接到提到的“错误”?
-
@RonBeyer,如果我使用 Network.TestConnection(),并且没有 Internet 连接,我的应用程序将失败并出现以下异常:'无法解析连接测试器地址,您必须在执行此操作之前连接到 Internet或将地址设置为您可以访问的地址。我从docs.unity3d.com/ScriptReference/Network.TestConnection.html复制了应付
-
@AnnaKuleva 如果
Network.TestConnection()仅在没有互联网时抛出异常,只需将其包装在try-catch中。错误表示没有网络,没有错误表示可以查看测试结果。 -
这绝对不是链接问题的重复。这个问题询问如何在 PC、Android 和 iOS 上的 Unity3D 中使用 C# 检查连接性。提议的副本是询问如何使用 Cocoa Touch 使用 iOS SDK 中的 Objective-C 检查连接性。这是两种完全独立的编程语言和技术栈。
标签: c# android ios unity3d internet-connection