using com.hnshituo.core.webapp.vo; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.NetworkInformation; using System.Text; using System.Threading; using System.Threading.Tasks; namespace RailLocalMeter { public class PingNetwork { Log lg = Log.GetInstance(); private bool blThreadFlag = true; Thread DataCollectThread = null;//采集进程 string dbFile = Path.Combine(AppConfigCache.path, "data/rfidDb.data"); public PingNetwork() { DataCollectThread = new Thread(new ThreadStart(DataCollect)); } public void start() { DataCollectThread.Start(); } public void stop() { blThreadFlag = false; } private void DataCollect() { if (!blThreadFlag) return; while (blThreadFlag) { try { Ping pingSend = new Ping(); PingReply reply = pingSend.Send(AppConfigCache.ServiceIp, 1000); if (reply.Status == IPStatus.Success) CacleCls.serverFlag = true; else CacleCls.serverFlag = false; } catch (Exception) { CacleCls.serverFlag = false; } finally { Thread.Sleep(1000); //1秒ping一次网络 } } } } }