利用Delphi里面的IdIcmpClient控制来检测网络是否正常连通

1、引用以下几个单元

     IdBaseComponent, IdComponent, IdRawBase,  IdRawClient, IdIcmpClient;

2、函数模块

-------------------------------------------------------------------------------------

        功能: 检查网络是否正常连通   

        参数: 无

        返回值: 成功: True   失败: False

       2014年3月22日  编写

-------------------------------------------------------------------------------------


function CheckOnLine: Boolean;
const
  Url = 'www.sina.com'; //广东电信测速 0.08s
var
  aIdICMPClient: TIdICMPClient;
begin
  Result := False;
  aIdICMPClient := TIdIcmpClient.Create(nil);
  try 
    aIdICMPClient.ReceiveTimeout := 1000; //1500ms is timeout
    aIdICMPClient.Host := Url;
    try
      aIdICMPClient.Ping();
      if (aIdICMPClient.ReplyStatus.FromIpAddress <> '0.0.0.0') and
         (aIdICMPClient.ReplyStatus.FromIpAddress <> '') and
         (aIdICMPClient.ReplyStatus.BytesReceived > 0) then  //有收到数据
        Result := True;
    except
      Result := False;
    end;
  finally
    aIdICMPClient.Free;
  end;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值