ping通各网站连接

{测试IP地址能否PING通}
function  ping(url:  string ):  Boolean ;
var
   i:  Integer ;
   rst:  Boolean ;
   err:  String ;
   icmpClient: TIdICMPClient;
begin
   i:=  0 ;
   rst:=  False ;
   icmpClient:= TIdICMPClient . Create( nil );
   icmpClient . ReceiveTimeout:=  500 ;
   icmpClient . Host:= url;
   icmpClient . PacketSize:=  1024 ;
   //ABuffer := url+ StringOfChar(' ', 255);
 
   while  ( not  rst)  and  (i< 3 do
   begin
     inc(i);
     try
       icmpClient . Ping();
       Application . ProcessMessages;
       if  (icmpClient . ReplyStatus . FromIpAddress = url)  then
       begin
         rst:=  True ;
       end
       else
       begin
         rst:=  false ;
         sleep( 10 );
       end ;
     except
       on  e: Exception  do
       begin
         err:= e . Message;
         //Socket Error # 10040 Message too long.是ping不通时的正常超时异常
         if  pos( '10040' ,err)= 0  then
           Logger . Log(url+ ' Ping异常:' + err);
         rst:=  False ;
         sleep( 10 );
       end ;
     end ;
 
   end ;
 
   Result:= rst;
   icmpClient . Free;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值