Sample code for 30+ languages & platforms
Tcl

Revert to Default DNS Nameservers

See more DNS Examples

Demonstrates how to revert back to the default nameservers of the local system where your application is running.

Note: This example requires Chilkat v9.5.0.96 or later.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

# The only reason you would have to revert back to the local system's default nameservers
# is if your application had previously set different nameservers, and you wish to revert back.

# When your application starts, the DNS nameservers to be used are the default nameservers
# configured on the system where your application is running.

# There is one exception: Chilkat defaults to using the public Google nameservers (8.8.8.8 and 8.8.4.4) for
# Android applications. Reverting to the default nameservers would revert to the Google nameservers.

# However, Chilkat does not query the local system for the default nameservers unless Chilkat needs
# to do a DNS lookup and there not yet any DNS nameservers defined.  Thus technically, when your application
# starts, there are no default nameservers. They are auto-assigned when first needed.

# If your application explicitly defines DNS nameservers, such as by calling AddDefaultnamervers, or AddNameserver
# then Chilkat will not automatically auto-assign.

set dns [new_CkDns]

# Here we are explicitly adding the system default nameservers, because technically this application
# has not yet done anything that would require a DNS lookup, and thus DNS nameservers are not yet defined.
# Your default nameserver is assumed to not support TLS.
CkDns_AddDefaultNameservers $dns

# Let's examine our nameservers
set nsCount [CkDns_get_NumNameservers $dns]
set i 0
while {$i < $nsCount} {
    puts [expr $i + 1]: [CkDns_getNameserver $dns $i]
    set i [expr $i + 1]
}

# On my Windows system, the result is a single nameserver at 
# 1: 172.16.16.16

# ---------------------------------------------------------
# We could add additional nameservers, such as Google and Cloudfare
set supportsTls 1
# Cloudfare
CkDns_AddNameserver $dns "1.1.1.1" $supportsTls
# Google
CkDns_AddNameserver $dns "8.8.8.8" $supportsTls

# See the nameservers now used by Chilkat
set nsCount [CkDns_get_NumNameservers $dns]
set i 0
while {$i < $nsCount} {
    puts [expr $i + 1]: [CkDns_getNameserver $dns $i]
    set i [expr $i + 1]
}

# Result:
# 1: 172.16.16.16
# 2: 1.1.1.1
# 3: 8.8.8.8

# ---------------------------------------------------------
# To revert back to the system default nameservers, clear all
# then re-add the default.
CkDns_RemoveAllNameservers $dns
CkDns_AddDefaultNameservers $dns

# See the nameservers now used by Chilkat
set nsCount [CkDns_get_NumNameservers $dns]
set i 0
while {$i < $nsCount} {
    puts [expr $i + 1]: [CkDns_getNameserver $dns $i]
    set i [expr $i + 1]
}

# Result:
# 1: 172.16.16.16

delete_CkDns $dns