Delphi专题 ·

Delphi跨平台检测网络连接状态

功能

跨平台检测网络连接状态

环境

  • Delphi 10.3.3
  • Win10 64位

主要代码

uses IdTCPClient;
function CheckInternet(AHost:string='baidu.com';Aport:integer=80):Boolean;
var
 CIdtcpclient:TIdtcpclient;
begin
 Result:=False;
 try
   try
     CIdtcpclient:= TIdtcpclient.Create(nil);
     CIdtcpclient.ReadTimeout :=2000;
     CIdtcpclient.ConnectTimeout :=2000;
     CIdtcpclient.Port := Aport;
     CIdtcpclient.Host := AHost;
     CIdtcpclient.Connect;
     CIdtcpclient.Disconnect;
     Result:=True;
   except
      on e:Exception do
      begin
        Result:=False;
      end;
   end;
 finally
    CIdtcpclient.DisposeOf;
    CIdtcpclient:=nil;
 end;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  if CheckInternet then
    showmessage('网络已连接')
  else
  showmessage('网络未连接');
end;

参与评论