【问题标题】:Internet availability checking in unity [duplicate]统一检查互联网可用性[重复]
【发布时间】:2018-08-05 03:15:04
【问题描述】:

我在统一中为我的应用程序使用 c#。在某些方法中,我需要检查互联网连接,因为我正在使用 Application.internetReachability == NetworkReachability.NotReachable 这行代码在我在统一编辑器中运行时正常工作,但是当我检查 mac 构建时它不能正常工作。

public static bool CheckInternetConnectionAvailability()
{
    try
    {
        return !(Application.internetReachability == NetworkReachability.NotReachable);
    }
    catch(Exception ex)
    {
        LoggingManager.Error(ex);

        return true;
    }
}

当没有可用的互联网时,它返回 true,但它必须是 true。我做错了什么吗?

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    Application.internetReachability 属性返回设备上当前可能的 Internet 可访问性类型。您不应该使用它来检查互联网连接。

    这是来自文档的警告和原因:

    注意:不要不要使用此属性来确定实际的连通性。 例如。该设备可以连接到热点,但没有 到网络的实际路径。 非手持设备始终被视为 能够 NetworkReachability.ReachableViaLocalAreaNetwork

    要检查互联网可用性,请使用WWWUnityWebRequestHttpWebRequest API 编写一个向远程服务器发出请求的简单函数。如果没有错误,则设备已连接到互联网。我建议您使用HttpWebRequest 而不是WWWUnityWebRequest,因为它们似乎在没有互联网连接时冻结。希望该错误已得到修复。

    请参阅this 帖子,了解如何使用HttpWebRequest 检查互联网连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-30
      • 2012-03-23
      • 1970-01-01
      • 2014-02-18
      • 2014-10-13
      相关资源
      最近更新 更多