如题,例如对一个192.168.0.1的机器进行不断ping,如果断开就弹出提示。我试过写了一段简单的程序,但我测试一拔掉网线,就抛出10065异常,我捕获了这个异常后,在那里写代码,但如果我插上网线,即网络恢复正常时,却仍然提示断开。我是用ldicmpclient.replystatus.bytesReceived判断的,正常是72,拔掉网线后是0,但我插上网线后还是显示0。请问该如何处理,哪位大侠能够提供一些简单的代码,重重有赏!

解决方案 »

  1.   

    那你拔掉後再插入,用CMD下的PING能拼到嗎??  檢查下。呵呵
      

  2.   


    当然不能ping了,no route.
      

  3.   

    直接调用cmd的ping命令,然后对结果进行分析
      

  4.   


    var
      command:  string;
      comline:  pchar;
    begin  command:='ping 192.168.0.1';
      comline:=pchar(command);
      winexec(comline,  sw_hide);end;
      

  5.   


    是可以,但我主要是要监测对某台机器的通讯状况,而不是针对所有,如果那台目标机器ping不通,即使其他机器都可以通,也没有意义啊
      

  6.   

    cmd里面ping主机ip地址,可以查看返回值。
      

  7.   


    这个我当然知道,但如果网络不通,你怎么发现? 你时刻盯着屏幕? 我的意思是通过程序来实现监测,像cmd下的ping 命令对于我来说没有意义,即使通和不通都只能通过屏幕反应,而无法将信息返回给程序,例如短信等
      

  8.   

    用keepalive机制检测,不要用ping
      

  9.   

    看机器是否开机,IP能不能PING,你可以用icmp做主机存活判断.很简单的,不用ping
      

  10.   

    汗,不停的PING一台机器,其实也算是网络攻击了.
    (大家可以想一下,如果有一亿台电脑同时PING一台服务器.)监控哪有这种做法啊. 监控的话,一般就是你这边发一句,那边答一句.
    然后过一段时间再重复一下....呵呵....好像差不多.(二边要对下话.)
      

  11.   

    我的意思并不是不停ping,可以隔一段时间ping一下。怎么用indy判断对方机器keepalive(对方不要安装服务端,因为不是我的机器)
      

  12.   

    建議用
    用keepalive机制检测,不要用ping