本文整理汇总了C#中NetworkReachability类的典型用法代码示例。如果您正苦于以下问题:C# NetworkReachability类的具体用法?C# NetworkReachability怎么用?C# NetworkReachability使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
NetworkReachability类属于命名空间,在下文中一共展示了NetworkReachability类的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: NetworkInformation
static NetworkInformation()
{
#if __ANDROID__
_manager = ConnectivityManager.FromContext(Plugin.CurrentActivity.CrossCurrentActivity.Current.Activity);
//_manager = ConnectivityManager.FromContext(InTheHand.Platform.Android.ContextManager.Context);
#elif __IOS__ || __TVOS__
_reachability = new NetworkReachability("0.0.0.0");
#endif
}
示例3: 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);
}
示例4: ConvertDataType
public static ENetworkDataType ConvertDataType(NetworkReachability type)
{
//return ENetworkDataType.MobileData;
return type == NetworkReachability.NotReachable ?
ENetworkDataType.None :
type == NetworkReachability.ReachableViaCarrierDataNetwork ?
ENetworkDataType.MobileData :
ENetworkDataType.Cable;
}
示例5: 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);
}
示例6: IsHostReachable
// Is the host reachable with the current network configuration
public static bool IsHostReachable(string host)
{
if (string.IsNullOrEmpty(host))
return false;
using (var r = new NetworkReachability(host)) {
NetworkReachabilityFlags flags;
if (r.TryGetFlags(out flags))
return IsReachableWithoutRequiringConnection(flags);
}
return false;
}
示例7: 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);
}
示例8: 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 ();
}
示例9: IsHostReachable
// Is the host reachable with the current network configuration
public static bool IsHostReachable (string host)
{
if (host == null || host.Length == 0)
return false;
using (var r = new NetworkReachability (host)){
NetworkReachabilityFlags flags;
if (r.TryGetFlags (out flags)){
return IsReachableWithoutRequiringConnection (flags);
}
}
return false;
}
示例10: 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);
}
示例11: 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;
}
示例12: IsHostReachable
/// <summary>
/// Checks if host is reachable
/// </summary>
/// <param name="host"></param>
/// <param name="port"></param>
/// <returns></returns>
public static bool IsHostReachable (string host, int port)
{
if (string.IsNullOrWhiteSpace (host))
return false;
IPAddress address;
if (!IPAddress.TryParse (host + ":" + port, out address)) {
Debug.WriteLine (host + ":" + port + " is not valid");
return false;
}
using (var r = new NetworkReachability (host)) {
NetworkReachabilityFlags flags;
if (r.TryGetFlags (out flags)) {
return IsReachableWithoutRequiringConnection (flags);
}
}
return false;
}
示例13: 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);
}
示例14: 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);
}
}
示例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);
}