互联网可用性检查统一

时间:2018-08-04 18:55:59

标签: c# unity3d

我在统一使用我的应用程序使用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。我做错了什么吗?

1 个答案:

答案 0 :(得分:0)

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

以下是警告以及文档中的原因:

  

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

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

例如,请参见this帖子,以了解如何检查与HttpWebRequest的互联网连接。