关于网友提出的“ 在Delphi里面,如何才能知道和一个IP地址之间是通畅的”问题疑问,本网通过在网上对“ 在Delphi里面,如何才能知道和一个IP地址之间是通畅的”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 在Delphi里面,如何才能知道和一个IP地址之间是通畅的
描述: 如何能用代码实现检测本机和一个IP地址是通畅的。比如 是否能ping 通 www.sohu.com
解决方案1: 安装第三方组件包:Indy,并使用TIdIcmpClient:
IdIcmpClient1.Host:= 'www.sohu.com';
try
IdIcmpClient1.Ping();
except
on e: exception do
ShowMessage('与主机 www.sohu.com 的连接失败,请联系网管。');
end;
解决方案2: uses
IdBaseComponent, IdComponent, IdRawBase,
IdRawClient, IdIcmpClient;
function IsOnline(host:string):boolean;
var
IcmpClient:TIdIcmpClient;
begin
IcmpClient:=TIdIcmpClient.Create(nil);
IcmpClient.BufferSize:=8192;
IcmpClient.Port:=0;
IcmpClient.Protocol:=1;
IcmpClient.ReceiveTimeout:=5000;
IcmpClient.Host:=host;
try
IcmpClient.Ping;
result:=true;
except
result:=false;
end;
IcmpClient.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if isOnline('www.sohu.com') then
showmessage('在线') else
ShowMessage('不在线');
end;
以上介绍了“ 在Delphi里面,如何才能知道和一个IP地址之间是通畅的”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3668942.html