IP Enumeration

.

Environment: VC4, VC5, VC6

I think this is the quickest way to enumerate the available IP addresses on your machine. I've gotten this question a lot. This is fairly simple but haven't seen it anywhere.

IP Enumeration

// Function GetIPs
// in : CStringArray
// out : CStringArray + count

int GetIPs( CStringArray &arrIPS )
{
    BOOL bRet = TRUE;
    char name[255];
    int i=0;
    PHOSTENT hostinfo;

  //first, clear the list
    arrIPS.RemoveAll();

  //get the host name
  if( gethostname ( name, sizeof(name)) == 0)
  {
    // get the host info
    if((hostinfo = gethostbyname(name)) != NULL)
    {
      // now, loop until the address list = null
      while( hostinfo->h_addr_list[i] != NULL )
      {
        //get the IP address
        char *ip_addr = inet_ntoa (*(struct in_addr *)
                        hostinfo->h_addr_list[i]);
        //add it to the array
        ip_addr );
        //increment the counter
        i++;
      }
    }
  }
  //return the array count
  return arrIPS.GetSize();
}


Comments

  • Don't forget to call WSAStart()...

    Posted by Legacy on 12/30/2003 12:00am

    Originally posted by: David Little

    This fails if you don't call WSAStart() first.  And the missing code is:
    
    


    arrIPS.Add(CString(ip_addr)); // the CString constructor is probably unnecessary


    Reply
  • GOOD BOY

    Posted by Legacy on 12/24/2003 12:00am

    Originally posted by: Best Programmer

    YES THIS IS THE QUICKEST WAY.....YOU GET THE AWARD FOR THE QUICKY OF THE YEAR

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • U.S. companies are desperately trying to recruit and hire skilled software engineers and developers, but there is simply not enough quality talent to go around. Tiempo Development is a nearshore software development company. Our headquarters are in AZ, but we are a pioneer and leader in outsourcing to Mexico, based on our three software development centers there. We have a proven process and we are experts at providing our customers with powerful solutions. We transform ideas into reality.

  • Lenovo recommends Windows 8 Pro. "I dropped my laptop getting out of the taxi." This probably sounds familiar to most IT professionals. If your employees are traveling, you know their devices are in for a rough go. Whether it's a trip to the conference room or a convention out of town, any time equipment leaves a user's desk it is at risk of being put into harm's way. Stay connected at all times, whether at the office or on the go, with agile, durable, and flexible devices like the Lenovo® …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date