iori2882 发表于 2012-2-27 10:05:12

ping命令不能判断丢包

ping命令能返回收发间隔,但是丢包怎么判断呢?

user3000 发表于 2012-2-27 10:09:18

用Dos命令PING,截取分并析回显.

iori2882 发表于 2012-2-27 10:15:27

{:face (229):}用Dos命令PING,截取分并析回显.
user3000 发表于 2012-2-27 10:09 http://www.autoitx.com/images/common/back.gif

额 除了这个方法呢?现在调用CMD 都被杀毒拦截~~~~

lanfengc 发表于 2012-2-28 11:35:23

帮助里说的很清楚。 发送失败返回0, 那么,根据这个失败标志就可以得到丢包了。

Local $IPADD1='192.168.1.1',$IP1LostPackageCount=0;定义目标IP和丢包数变量
Local $IPADD2='192.168.1.2',$IP2LostPackageCount=0

For $i=1 To 50
        $temp1=Ping($IPADD1,250);设置超时时间,根据你的实际需求来设置。
        If $temp1=0 Then $IP1LostPackageCount+=1;如果返回等于0,则证明丢包了。则丢包数+1
        $temp2=Ping($IPADD2,250)
        If $temp2=0 Then $IP2LostPackageCount+=1
        If $temp1<>0 And $temp2<>0 Then
                TrayTip("正在发送第"&$i&"包……","第一包发送成功 "&@CRLF&"第二包发送成功 ",1);显示当前是第几包和状态
        ElseIf $temp1=0 And $temp2<>0Then
                TrayTip("正在发送第"&$i&"包……","第一包发送失败 "&@CRLF&"第二包发送成功 ",1);显示当前是第几包和状态
        ElseIf $temp1<>0 And $temp2=0Then
                TrayTip("正在发送第"&$i&"包……","第一包发送成功 "&@CRLF&"第二包发送失败 ",1);显示当前是第几包和状态
        Else
                TrayTip("正在发送第"&$i&"包……","第一包发送失败 "&@CRLF&"第二包发送失败 ",1);显示当前是第几包和状态
        EndIf
       
Next

MsgBox(0,"结束","第一个IP丢包数:"&$IP1LostPackageCount&@CRLF&"第二个IP丢包数:"&$IP2LostPackageCount)

iori2882 发表于 2012-2-28 13:17:18

帮助里说的很清楚。 发送失败返回0, 那么,根据这个失败标志就可以得到丢包了。
lanfengc 发表于 2012-2-28 11:35 http://www.autoitx.com/images/common/back.gif
谢谢了{:face (377):}

vason1019 发表于 2012-2-28 13:44:20

小宝宝i大了以后才是高手

redapple2008 发表于 2012-2-28 16:43:26

有高手的地方才有乐趣

xz00311 发表于 2012-2-29 09:37:57

这个正需要学习中

qiu491996004 发表于 2012-2-29 14:54:41

这个不错的可以统计丢包了很给力

xms77 发表于 2012-2-29 21:47:02

回复 4# lanfengc
学习了
页: [1]
查看完整版本: ping命令不能判断丢包