Sample code for 30+ languages & platforms
Tcl

Check Internet Connectivity

See more Socket/SSL/TLS Examples

Demonstrates an efficient way to test for Internet connectivity.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set socket [new_CkSocket]

# 1. Use a reliable Anycast IP. 
#    8.8.8.8 (Google) or 1.1.1.1 (Cloudflare) are the industry standards.
set 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).
set port 53

# 3. Disable SSL (0). 
#    We are not doing a handshake, just a TCP connection.
set ssl 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.
set timeoutMs 1500

# Connect
set success [CkSocket_Connect $socket $targetIp $port $ssl $timeoutMs]
if {$success == 0} then {
    puts [CkSocket_lastErrorText $socket]
    delete_CkSocket $socket
    exit
}

CkSocket_Close $socket 10

puts "We have Internet connectivity."

delete_CkSocket $socket