本文整理汇总了C#中NetworkReachability.Schedule方法的典型用法代码示例。如果您正苦于以下问题:C# NetworkReachability.Schedule方法的具体用法?C# NetworkReachability.Schedule怎么用?C# NetworkReachability.Schedule使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NetworkReachability
的用法示例。
在下文中一共展示了NetworkReachability.Schedule方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Reachability
/// <summary>
/// Initializes a new instance of the <see cref="Reachability.Reachability"/> class.
/// </summary>
/// <param name='reachability'>
/// NetworkReachability instance to use
/// </param>
/// <param name='hasWWAN'>
/// Platform has a WWAN interface
/// </param>
protected Reachability(NetworkReachability reachability, bool hasWWAN)
{
NetworkReachability = reachability;
HasWWAN = hasWWAN;
AllowWWAN = true;
NetworkReachability.SetNotification(OnReachabilityNotification);
NetworkReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
示例2: IsNetworkAvailable
static bool IsNetworkAvailable(out NetworkReachabilityFlags flags)
{
if (defaultRouteReachability == null) {
defaultRouteReachability = new NetworkReachability(new IPAddress(0));
defaultRouteReachability.SetNotification(OnChange);
defaultRouteReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
return defaultRouteReachability.TryGetFlags(out flags) && IsReachableWithoutRequiringConnection(flags);
}
示例3: IsAdHocWiFiNetworkAvailable
public static bool IsAdHocWiFiNetworkAvailable (out NetworkReachabilityFlags flags)
{
if (adHocWiFiNetworkReachability == null) {
adHocWiFiNetworkReachability = new NetworkReachability(new IPAddress(new byte [] { 169, 254, 0, 0 }));
adHocWiFiNetworkReachability.SetNotification(OnChange);
adHocWiFiNetworkReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
return adHocWiFiNetworkReachability.TryGetFlags(out flags) && IsReachableWithoutRequiringConnection(flags);
}
示例4: IsAdHocWiFiNetworkAvailable
//
// Returns true if it is possible to reach the AdHoc WiFi network
// and optionally provides extra network reachability flags as the
// out parameter
//
public static bool IsAdHocWiFiNetworkAvailable(out NetworkReachabilityFlags flags)
{
if (_adHocWiFiNetworkReachability == null) {
_adHocWiFiNetworkReachability = new NetworkReachability (new IPAddress (new byte[] { 169, 254, 0, 0 }));
_adHocWiFiNetworkReachability.SetCallback (OnChange);
_adHocWiFiNetworkReachability.Schedule (CFRunLoop.Current, CFRunLoop.ModeDefault);
}
if (!_adHocWiFiNetworkReachability.TryGetFlags (out flags))
return false;
return IsReachableWithoutRequiringConnection (flags);
}
示例5: InitializeReachability
void InitializeReachability ()
{
networkReachability = new NetworkReachability (IPAddress.Any);
networkReachability.SetNotification (flags => UpdateReachability (flags, NetworkIcon, NetworkStatusTextField));
networkReachability.Schedule ();
NetworkReachabilityFlags networkReachabilityFlags;
networkReachability.TryGetFlags (out networkReachabilityFlags);
UpdateReachability (networkReachabilityFlags, NetworkIcon, NetworkStatusTextField);
CreateHostReachability ();
HostTextField.Changed += (sender, e) => CreateHostReachability ();
}
示例6: FinishedLaunching
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
imageCarrier = UIImage.FromFile ("WWAN5.png");
imageWiFi = UIImage.FromFile ("Airport.png");
imageStop = UIImage.FromFile ("stop-32.png");
nr = new NetworkReachability ("www.apple.com");
nr.SetCallback (ReachabilityChanged);
nr.Schedule (CFRunLoop.Current, CFRunLoop.ModeDefault);
AddTable ();
//UpdateStatus ();
//UpdateCarrierWarning ();
window.MakeKeyAndVisible ();
return true;
}
示例7: CreateHostReachability
void CreateHostReachability ()
{
if (hostReachability != null) {
hostReachability.Unschedule ();
hostReachability.Dispose ();
}
if (String.IsNullOrEmpty (HostTextField.StringValue)) {
HostIcon.Image = NSImage.ImageNamed ("disconnected");
HostStatusTextField.StringValue = "Enter a host name or IP address";
return;
}
hostReachability = new NetworkReachability (HostTextField.StringValue);
hostReachability.SetNotification (flags => UpdateReachability (flags, HostIcon, HostStatusTextField));
hostReachability.Schedule ();
NetworkReachabilityFlags networkReachabilityFlags;
networkReachability.TryGetFlags (out networkReachabilityFlags);
UpdateReachability (networkReachabilityFlags, NetworkIcon, NetworkStatusTextField);
}
示例8: CreateConnectivityWatchDog
public void CreateConnectivityWatchDog (Action<bool> connectivityChanged)
{
this.connectivityChanged = connectivityChanged;
if (remoteHostReachability == null)
{
if (remoteHostReachability != null)
{
remoteHostReachability.Unschedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
// Create new instance if host address changed.
remoteHostReachability = new NetworkReachability(new System.Net.IPAddress(0));
remoteHostReachability.SetNotification(HandleReachabilityChanged);
remoteHostReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
// Trigger callback.
if (this.connectivityChanged != null)
{
this.connectivityChanged (true);
}
}
示例9: IsNetworkAvailable
// private bool IsNetworkAvailable(out NetworkReachabilityFlags flags)
// {
// if (defaultRouteReachability == null)
// {
// defaultRouteReachability = new NetworkReachability(new IPAddress(0));
// defaultRouteReachability.SetCallback(OnChange);
// defaultRouteReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
// }
// if (!defaultRouteReachability.TryGetFlags(out flags))
// return false;
// return IsReachableWithoutRequiringConnection(flags);
// }
private bool IsNetworkAvailable(out NetworkReachabilityFlags flags)
{
if (defaultRouteReachability == null)
{
defaultRouteReachability = new NetworkReachability(new IPAddress(0));
//SetCallback is depreciated
//ORIG: defaultRouteReachability.SetCallback(OnChange);
defaultRouteReachability.SetNotification(OnChange);
defaultRouteReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
if (!defaultRouteReachability.TryGetFlags(out flags))
return false;
return IsReachableWithoutRequiringConnection(flags);
}
示例10: RemoteHostStatus
public static NetworkStatus RemoteHostStatus(string HostName)
{
NetworkReachabilityFlags flags;
bool reachable;
if (remoteHostReachability == null) {
remoteHostReachability = new NetworkReachability (HostName);
// Need to probe before we queue, or we wont get any meaningful values
// this only happens when you create NetworkReachability from a hostname
reachable = remoteHostReachability.TryGetFlags (out flags);
remoteHostReachability.SetCallback (OnChange);
remoteHostReachability.Schedule (CFRunLoop.Current, CFRunLoop.ModeDefault);
} else
reachable = remoteHostReachability.TryGetFlags (out flags);
if (!reachable)
return NetworkStatus.NotReachable;
if (!IsReachableWithoutRequiringConnection (flags))
return NetworkStatus.NotReachable;
if ((flags & NetworkReachabilityFlags.IsWWAN) != 0)
return NetworkStatus.ReachableViaCarrierDataNetwork;
return NetworkStatus.ReachableViaWiFiNetwork;
}
示例11: IsAdHocWiFiNetworkAvailable
public static bool IsAdHocWiFiNetworkAvailable(out NetworkReachabilityFlags flags)
{
if (adHocWiFiNetworkReachability == null)
{
adHocWiFiNetworkReachability = new NetworkReachability(new IPAddress(new byte[] {169, 254, 0, 0}));
#warning Need to look at SetNotification instead - ios6 change
adHocWiFiNetworkReachability.SetNotification(OnChange);
adHocWiFiNetworkReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
if (!adHocWiFiNetworkReachability.TryGetFlags(out flags))
return false;
return IsReachableWithoutRequiringConnection(flags);
}
示例12: IsNetworkAvaialable
private static bool IsNetworkAvaialable(out NetworkReachabilityFlags flags)
{
if (defaultRouteReachability == null)
{
defaultRouteReachability = new NetworkReachability(new IPAddress(0));
#warning Need to look at SetNotification instead - ios6 change
defaultRouteReachability.SetNotification(OnChange);
defaultRouteReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
}
if (defaultRouteReachability.TryGetFlags(out flags))
return false;
return IsReachableWithoutRequiringConnection(flags);
}
示例13: IsNetworkAvailable
static bool IsNetworkAvailable (out NetworkReachabilityFlags flags)
{
if (defaultRouteReachability == null){
defaultRouteReachability = new NetworkReachability (new IPAddress (0));
defaultRouteReachability.SetNotification (OnChange);
defaultRouteReachability.Schedule (CFRunLoop.Current, CFRunLoop.ModeDefault);
}
if (!defaultRouteReachability.TryGetFlags(out flags))
{
Application._networkstate = DataAccessLayer.NetworkState.Disconnected;
if (Application._user != null)
Application._user.NetworkStatus = DataAccessLayer.NetworkState.Disconnected;
return false;
}
return IsReachableWithoutRequiringConnection (flags);
}
示例14: IsNetworkAvailable
private static bool IsNetworkAvailable(out NetworkReachabilityFlags flags)
{
if (_defaultRouteReachability == null) {
_defaultRouteReachability = new NetworkReachability (new IPAddress (0));
_defaultRouteReachability.SetCallback (OnChange);
_defaultRouteReachability.Schedule (CFRunLoop.Current, CFRunLoop.ModeDefault);
}
if (!_defaultRouteReachability.TryGetFlags (out flags))
return false;
return IsReachableWithoutRequiringConnection (flags);
}
示例15: IsNetworkAvailable
static bool IsNetworkAvailable(out NetworkReachabilityFlags flags)
{
if (defaultRouteReachability == null)
{
var data = new byte[] { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0 };
var ip = new IPAddress(data, 0);
defaultRouteReachability = new NetworkReachability(ip);
defaultRouteReachability.SetNotification(OnChange);
defaultRouteReachability.Schedule(CFRunLoop.Main, CFRunLoop.ModeDefault);
}
if (!defaultRouteReachability.TryGetFlags(out flags))
return false;
return IsReachableWithoutRequiringConnection(flags);
}