public static void isNetworkConnected(NetworkUtil.OnNetworkConnectedDelegate OnNetworkConnected) { if (NetworkUtil.isLanNetworkConnected()) { NetworkUtil.ping(OnNetworkConnected); return; } OnNetworkConnected(false); }
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); } } }
private static void ping(NetworkUtil.OnNetworkConnectedDelegate OnNetworkConnected) { new Thread(new ParameterizedThreadStart(NetworkUtil.pingThreadStart)).Start(OnNetworkConnected); }