主题:监控网络是否正常
daerda
[专家分:0] 发布于 2012-05-21 09:58:00
我现在需要实时监控服务器与某台机器网速是否正常,当不掉线时,自动拨号重新连接网络。
我不知道如何监控网络是否正常。知道被监控的IP地址。
是否有ping的函数可以使用?
恳请大家帮解答,谢谢。
回复列表 (共3个回复)
沙发
fragileeye [专家分:1990] 发布于 2012-05-21 13:17:00
没思路,同求解答。
板凳
zxck [专家分:0] 发布于 2012-05-24 16:58:00
网上搜了一点代码,可以参考。
获取ping的结果,就知道网络状态了。
http://hi.baidu.com/shouxin1014/item/3855cbba9f4b4da2ebba9324
[code=c]
2010-08-10 14:38 获取命令行输出值 C#
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.IO;
/**
* C# 运行命令行的例子
*
* @author JAVA世纪网(java2000.net)
*/
namespace ConsoleApplication1
{
class TestProcess
{
public static void executeCommand()
{
ProcessStartInfo start = new ProcessStartInfo("Ping.exe");//设置运行的命令行文件问ping.exe文件,这个文件系统会自己找到
//如果是其它exe文件,则有可能需要指定详细路径,如运行winRar.exe
start.Arguments = "127.0.0.1 -t";//设置命令参数
start.CreateNoWindow = true;//不显示dos命令行窗口
start.RedirectStandardOutput = true;//
start.RedirectStandardInput = true;//
start.UseShellExecute = false;//是否指定操作系统外壳进程启动程序
Process p = Process.Start(start);
StreamReader reader = p.StandardOutput;//截取输出流
string line = reader.ReadLine();//每次读取一行
while (!reader.EndOfStream)
{
Console.Out.WriteLine(line);
line = reader.ReadLine();
}
p.WaitForExit();//等待程序执行完退出进程
p.Close();//关闭进程
reader.Close();//关闭流
}
}
}
[/code]
3 楼
windy0will [专家分:2300] 发布于 2012-05-25 17:56:00
不知道楼主是不是想实现类似ping的功能。
不过可以参考tcp/ip里的icmp协议。在网上能搜到很多资料的。
我来回复