Sample code for 30+ languages & platforms
Dart

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

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // 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.

  final dns = 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.
  dns.addDefaultNameservers();

  // Let's examine our nameservers
  var nsCount = dns.numNameservers;
  var i = 0;
  while (i < nsCount) {
    print('${i + 1}: ${dns.getNameserver(i)}');
    i++;
  }

  // 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
  final supportsTls = true;
  // Cloudfare
  dns.addNameserver('1.1.1.1', supportsTls);
  // Google
  dns.addNameserver('8.8.8.8', supportsTls);

  // See the nameservers now used by Chilkat
  nsCount = dns.numNameservers;
  i = 0;
  while (i < nsCount) {
    print('${i + 1}: ${dns.getNameserver(i)}');
    i++;
  }

  // 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.
  dns.removeAllNameservers();
  dns.addDefaultNameservers();

  // See the nameservers now used by Chilkat
  nsCount = dns.numNameservers;
  i = 0;
  while (i < nsCount) {
    print('${i + 1}: ${dns.getNameserver(i)}');
    i++;
  }

  // Result:
  // 1: 172.16.16.16
}