![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) Check Internet ConnectivityDemonstrates an efficient way to test for Internet connectivity.
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Socket; ... procedure TForm1.Button1Click(Sender: TObject); var success: Boolean; socket: HCkSocket; targetIp: PWideChar; port: Integer; ssl: Boolean; timeoutMs: Integer; begin success := False; socket := CkSocket_Create(); // 1. Use a reliable Anycast IP. // 8.8.8.8 (Google) or 1.1.1.1 (Cloudflare) are the industry standards. targetIp := '8.8.8.8'; // 2. Use Port 53 (DNS). // DNS servers typically listen on TCP Port 53 as well as UDP. // (Alternatively, use port 443 if you suspect port 53 is blocked). port := 53; // 3. Disable SSL (0). // We are not doing a handshake, just a TCP connection. ssl := False; // 4. Short Timeout (1500ms). // If you can't reach Google in 1.5 seconds, the connection is // likely too poor for practical use anyway. timeoutMs := 1500; // Connect success := CkSocket_Connect(socket,targetIp,port,ssl,timeoutMs); if (success = False) then begin Memo1.Lines.Add(CkSocket__lastErrorText(socket)); Exit; end; CkSocket_Close(socket,10); Memo1.Lines.Add('We have Internet connectivity.'); CkSocket_Dispose(socket); end; |
||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.