Sample code for 30+ languages & platforms
PowerBuilder

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 PowerBuilder Downloads

PowerBuilder
integer li_rc
oleobject loo_Dns
long li_NsCount
long i
long li_SupportsTls

//  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.

loo_Dns = create oleobject
li_rc = loo_Dns.ConnectToNewObject("Chilkat.Dns")
if li_rc < 0 then
    destroy loo_Dns
    MessageBox("Error","Connecting to COM object failed")
    return
end if

//  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.
loo_Dns.AddDefaultNameservers()

//  Let's examine our nameservers
li_NsCount = loo_Dns.NumNameservers
i = 0
do while i < li_NsCount
    Write-Debug string(i + 1) + ": " + loo_Dns.GetNameserver(i)
    i = i + 1
loop

//  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
li_SupportsTls = 1
//  Cloudfare
loo_Dns.AddNameserver("1.1.1.1",li_SupportsTls)
//  Google
loo_Dns.AddNameserver("8.8.8.8",li_SupportsTls)

//  See the nameservers now used by Chilkat
li_NsCount = loo_Dns.NumNameservers
i = 0
do while i < li_NsCount
    Write-Debug string(i + 1) + ": " + loo_Dns.GetNameserver(i)
    i = i + 1
loop

//  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.
loo_Dns.RemoveAllNameservers()
loo_Dns.AddDefaultNameservers()

//  See the nameservers now used by Chilkat
li_NsCount = loo_Dns.NumNameservers
i = 0
do while i < li_NsCount
    Write-Debug string(i + 1) + ": " + loo_Dns.GetNameserver(i)
    i = i + 1
loop

//  Result:
//  1: 172.16.16.16


destroy loo_Dns