求教网络设备监听的方法
我们单位有几百台交换机,想做个程序实时检测这些交换机是否正常工作!
我的想法是把交换机的Ip列表写到数据库中,然后循环读出来,有多少个ip建立多少个线程,去ping这些ip,通过ping返回的信息判断其是否正常.但我让这些线程不停的ping这些交换机,cpu占用率就一直在100%。
1、请高手指点,像这样的监听除了ping的方式还有其他方法吗?
2、如果没有请看看下面的代码可以怎样让cpu占用率降下来?
while (dr.Read())
{
myping myobject = new myping();
myobject.ip = dr[ "ManageIP "].ToString();
myobject.switchDesc = dr[ "switchDesc "].ToString();
mythread[i] = new Thread(new ThreadStart(myobject.ping));
mythread[i].Start();
i = i + 1;
}
public class myping
{
public string ip;
public string switchDesc;
public void ping()
{
Process p = new Process();
p.StartInfo.FileName = "cmd.exe ";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.Start();
p.StandardInput.WriteLine( "ping -n 1 " + &