Xamarin:检测网络/主机可达性

时间:2014-10-07 13:52:51

标签: ios xamarin connectivity

我正在试验"可达性"在Xmarin中,使用Reachability类(sample here),但我无法获得" IsHostReachable"工作的功能。

我确实知道Reachability类使用NetworkReachability类,但无论我使用哪个类,TryGetFlags()方法总是将NetworkReachabilityFlags参数传回零( 0)价值。

我开始使用Reachability课程'方法,但在调试时我发现问题似乎来自NetworkReachability。我尝试了以下代码以确保:

using (var r = new NetworkReachability(host))
{
    NetworkReachabilityFlags flags;
    if (r.TryGetFlags(out flags)) // <-- flags is always 0 (zero)
        return (flags & NetworkReachabilityFlags.Reachable) == NetworkReachabilityFlags.Reachable;
    return false;
}

就像我说的那样,flags变量以零(0)值传回,而不管设备的当前连接状态如何。我正在测试的主机是一个Intranet网络应用程序,只有在我公司的WIFI上才能使用。我已经测试了在连接时对iPhone进行测试,并通过简单地尝试浏览到Safari中的主机来进行双重检查。

API记录很少,但我怀疑我可能需要以某种方式初始化NetworkReachability类。

有什么想法吗?

0 个答案:

没有答案