示例#1
0
 public static void isNetworkConnected(NetworkUtil.OnNetworkConnectedDelegate OnNetworkConnected)
 {
     if (NetworkUtil.isLanNetworkConnected())
     {
         NetworkUtil.ping(OnNetworkConnected);
         return;
     }
     OnNetworkConnected(false);
 }
示例#2
0
 private static void pingThreadStart(object obj)
 {
     if (obj is NetworkUtil.OnNetworkConnectedDelegate)
     {
         NetworkUtil.OnNetworkConnectedDelegate OnNetworkConnected = (NetworkUtil.OnNetworkConnectedDelegate)obj;
         try
         {
             if (new Ping().Send("www.baidu.com", 1000).Status == IPStatus.Success)
             {
                 if (NetworkUtil.sContext != null && OnNetworkConnected != null)
                 {
                     if (NetworkUtil.sContext.InvokeRequired)
                     {
                         NetworkUtil.sContext.Invoke(OnNetworkConnected, new object[]
                         {
                             true
                         });
                     }
                     else
                     {
                         OnNetworkConnected(true);
                     }
                 }
                 return;
             }
         }
         catch (Exception e)
         {
             NetworkUtil.log.Error("pingThreadStart = " + e.Message + "\r\n" + e.StackTrace);
         }
         if (NetworkUtil.sContext != null && OnNetworkConnected != null)
         {
             if (NetworkUtil.sContext.InvokeRequired)
             {
                 NetworkUtil.sContext.Invoke(OnNetworkConnected, new object[]
                 {
                     false
                 });
                 return;
             }
             OnNetworkConnected(false);
         }
     }
 }
示例#3
0
 private static void ping(NetworkUtil.OnNetworkConnectedDelegate OnNetworkConnected)
 {
     new Thread(new ParameterizedThreadStart(NetworkUtil.pingThreadStart)).Start(OnNetworkConnected);
 }