Sample code for 30+ languages & platforms
Xbase++

Check Internet Connectivity

See more Socket/SSL/TLS Examples

Demonstrates an efficient way to test for Internet connectivity.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oSocket
LOCAL cTargetIp
LOCAL nPort
LOCAL nSsl
LOCAL nTimeoutMs

nSuccess := 0

oSocket := CreateObject("Chilkat.Socket")
//  1. Use a reliable Anycast IP. 
//     8.8.8.8 (Google) or 1.1.1.1 (Cloudflare) are the industry standards.
cTargetIp := "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).
nPort := 53

//  3. Disable SSL (0). 
//     We are not doing a handshake, just a TCP connection.
nSsl := 0

//  4. Short Timeout (1500ms).
//     If you can't reach Google in 1.5 seconds, the connection is 
//     likely too poor for practical use anyway.
nTimeoutMs := 1500

//  Connect
nSuccess := oSocket:Connect(cTargetIp, nPort, nSsl, nTimeoutMs)
IF (nSuccess == 0)
    ? oSocket:LastErrorText
    oSocket:destroy()
    RETURN
ENDIF

oSocket:Close(10)

? "We have Internet connectivity."

oSocket:destroy()