回 帖 发 新 帖 刷新版面

主题:监控网络是否正常

我现在需要实时监控服务器与某台机器网速是否正常,当不掉线时,自动拨号重新连接网络。
我不知道如何监控网络是否正常。知道被监控的IP地址。
是否有ping的函数可以使用?
恳请大家帮解答,谢谢。

回复列表 (共3个回复)

沙发

没思路,同求解答。

板凳

网上搜了一点代码,可以参考。
获取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 楼

不知道楼主是不是想实现类似ping的功能。
不过可以参考tcp/ip里的icmp协议。在网上能搜到很多资料的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册