我在统一使用我的应用程序使用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。我做错了什么吗?
答案 0 :(得分:0)
Application.internetReachability
属性返回设备上当前可能的Internet可达性类型。您不应该使用它来检查互联网连接。
以下是警告以及文档中的原因:
注意:不要不要使用此属性来确定实际的连通性。 例如。该设备可以连接到热点,但不能 到网络的实际路由。 非手持设备始终被视为 具备NetworkReachability.ReachableViaLocalAreaNetwork 。
要检查Internet的可用性,请使用WWW
,UnityWebRequest
或HttpWebRequest
API编写一个简单的函数,该函数向远程服务器发出请求。如果没有错误,则表明设备已连接到互联网。我建议您在HttpWebRequest
和WWW
上使用UnityWebRequest
,因为当没有互联网连接时,它们似乎会冻结。希望该错误已修复。
例如,请参见this帖子,以了解如何检查与HttpWebRequest
的互联网连接。