本人现在开发的项目需要定时的检查网络的状况。
不知道各位大侠有没有好的办法?我是用c#实现ICMP协议,模拟ping命令来检查网络的,使用到了这些资源:
http://www.codeproject.com/dotnet/CSharpPing.asp
http://www.eggheadcafe.com/articles/20020209.asp这些实现的ping程序好像在对指定远程服务器的端口测试中没有用,
也就是说无法判断服务器指定的端口是否打开。不知道高手对这种情况有没有好的解决办法?谢谢
不知道各位大侠有没有好的办法?我是用c#实现ICMP协议,模拟ping命令来检查网络的,使用到了这些资源:
http://www.codeproject.com/dotnet/CSharpPing.asp
http://www.eggheadcafe.com/articles/20020209.asp这些实现的ping程序好像在对指定远程服务器的端口测试中没有用,
也就是说无法判断服务器指定的端口是否打开。不知道高手对这种情况有没有好的解决办法?谢谢
解决方案 »
- 如何获取listbox中选中的值
- PictureBox的一个问题
- 关于TrackBar的背景色
- 关于多线程访问ExecuteScalar,ExecuteNonQuery
- 如何用定时 System.Timers.Timer 触 发每个月1号,0点0分0秒 执行操作?
- 在winform中datagrid显示的时候在最后一行后总会有一行null的数据,怎么去掉?
- 如何将代码里的方法排序
- C#调用VC写的DLL中的类的问题
- dll问题。
- 纯C#做的ERP,欢迎测试:www.jzmx.com/cn (ERP)
- 用C#实现软键盘(屏幕键盘)遇到的问题,高手请进
- 请教用CreateProcess函数调用程序问题.
{
bool Flag = false;
Process proc = new Process();
try
{
proc.StartInfo.FileName = "cmd.exe";
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardInput = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
string dosLine = @"ping -n 1 " + remoteHost;
proc.StandardInput.WriteLine(dosLine);
proc.StandardInput.WriteLine("exit");
while (proc.HasExited == false)
{
proc.WaitForExit(500);
}
string pingResult = proc.StandardOutput.ReadToEnd();
if (pingResult.IndexOf("(0% loss)") != -1)
{
Flag = true;
}
proc.StandardOutput.Close() ;
}
catch (Exception ex)
{
}
finally
{
try
{
proc.Close();
proc.Dispose();
}
catch
{
}
}
return Flag;
}