Click here to Skip to main content
13,142,646 members (54,044 online)
Click here to Skip to main content
Add your own
alternative version


25 bookmarked
Posted 22 May 2005

CDNS 1.0 - An MFC DNS class

, 22 May 2005
Rate this:
Please Sign up or sign in to vote.
An MFC implementation of a DNS class, it can retrieve multiple IPs and hostnames.

Sample Image - CDNS.PNG


I needed to use DNS lookups in a little Internet app I was using, and couldn't find a manageable solution. So I created one.

What are DNS lookups and why would you use one?

DNS stands for Domain Name Server/Service. It is the method which all browsers use to resolve hostnames (, for example) into IP addresses they can connect to.

How does this code work?

In my class, I have used a few Winsock functions to do the lookups, mainly GetHostByName to fill the hostent structure with information. The basic process is:

  • WSAStartup to initialize.
  • GetHostByName to fill the hostent structure.
  • Check if any information was retrieved.
  • If so, loop through the returned IPs and hostnames and add them to an array.
  • WSACleanup to end the process.

Using the class

The main three functions that will be used are:

  • SetHostname
  • DoDNSLookup
  • GetIPAt

An example of retrieving a hostname's primary IP is:

// Define a CDNS object
CDNS dnsObj;

// Set the hostname

// Do the DNS lookup
BOOL doLookup = dnsObj.DoDNSLookup;

if (doLookup)
    // Retrieve the IP
    CString thisIP = dnsObj.GetIPAt(0);

Of course, the class retrieves multiple IPs, so you'll need to do a loop to get them all. Here's an example:

// Define a CDNS object
CDNS dnsObj;

// Set the hostname

// Do the DNS lookup
BOOL doLookup = dnsObj.DoDNSLookup;

if (doLookup)
    for (int i = 0; i <= dnsObj.GetNumberOfIP(); i++)
        CString thisIP = dnsObj.GetIPAt(i);
        // Do something with the IP


  • 1.0
    • 22nd May, 2005: First public release.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

United States United States
No Biography provided

You may also be interested in...

Comments and Discussions

GeneralRe: To those who vote 1 without reading or looking at the article or code Pin
Geert van Horrik2-Jun-05 23:43
memberGeert van Horrik2-Jun-05 23:43 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web03 | 2.8.170915.1 | Last Updated 22 May 2005
Article Copyright 2005 by .rich.w
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid