Get hostname and ip address of local computer (2)

Following is a code that gets local machine IP addresses. The advantages over the article by Jeff Lundgren are that my code recognises ALL IP addresses and is ready for IPv6 ;-)
char szHostName[128];

if( gethostname(szHostName, 128) == 0 )
{
	// Get host adresses
	struct hostent * pHost;
	int i;
 
	pHost = gethostbyname(szHostName);
 
	for( i = 0; pHost!= NULL && pHost->h_addr_list[i]!= NULL; i++ )
 	{
		 CString str;
 		int j;
 
 		for( j = 0; j < pHost->h_length; j++ )
 		{
			 CString addr;
 
 			if( j > 0 )
 				str += ".";
 
 			addr.Format("%u", (unsigned int)((unsigned
		 	char*)pHost->h_addr_list[i])[j]);
			str += addr;
 		}
  		// str now contains one local IP address - do whatever you want to do with it (probably add it to a list)
 	}
}




Comments

  • Doesn't work

    Posted by Legacy on 12/04/2002 12:00am

    Originally posted by: Patrick

    Now, can you please help me how to display the IP with printf ?

    Reply
  • You need #include <winsock2.h> and link Ws2_32.lib

    Posted by Legacy on 11/07/2002 12:00am

    Originally posted by: Chris

    He forget to mention add:

    #include <winsock2.h>

    and also click Project->Settings->Link Tab
    and add in:

    Ws2_32.lib

    Reply
  • It doesn't work....

    Posted by Legacy on 10/08/2002 12:00am

    Originally posted by: Omar Mukhtar

    The program listed here claims to get IP local address & local host name. But it didn't work well in Linux environment.

    It retrieves "127.0.0.1" i.e. Loopback IP address. The reason behind is that gethostbyname() function looks for IP in a file. What is the real solution?

    How does ifconfig command works?????

    Omar Mukhtar

    Reply
  • serial port programming

    Posted by Legacy on 07/27/2002 12:00am

    Originally posted by: deepaa.

    How to communicate with two adjacent computers.how to communicate thru the serial ports?

    Reply
  • Re: Obtaining IP address

    Posted by Legacy on 03/14/2002 12:00am

    Originally posted by: John Payne

    For the above code to work, you need to include the header file:

    #include <unistd.h>

    Reply
  • How do I get all the IP addresses on a LAN having a WINDOWS NT 4 SERVER.

    Posted by Legacy on 11/04/2001 12:00am

    Originally posted by: Ajay

    How do I get all the IP addresses on a LAN having a WINDOWS NT 4 SERVER.

    Reply
  • Its Ok, How can I get IPv6 host address in the same manner.

    Posted by Legacy on 10/15/2001 12:00am

    Originally posted by: Mura


    Your example gives the shortest way.
    It works fine for IPv4. But I am trying
    to get the IPv6 address using WSAIoctl(..) :(

    Give some example

    Reply
  • How to get IP in Linux

    Posted by Legacy on 11/10/2000 12:00am

    Originally posted by: Senthilkumaran

    I want to get the IP address and Host name of a computer running Linux. Please help me out.

    Thanks,

    Reply
  • Thanks for the addition.

    Posted by Legacy on 01/14/1999 12:00am

    Originally posted by: Jeff Lundgren

    I've had a lot of people ask this question.

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

Top White Papers and Webcasts

  • 10 Rules that Make or Break Enterprise App Development Projects In today's app-driven world, application development is a top priority. Even so, 68% of enterprise application delivery projects fail. Designing and building applications that pay for themselves and adapt to future needs is incredibly difficult. Executing one successful project is lucky, but making it a repeatable process and strategic advantage? That's where the money is. With help from our most experienced project leads and software engineers, …

  • Between contractors and employees, there is a great deal of risk surrounding the privacy and security of sensitive data in the healthcare industry. When a breach is suspected, the law requires that healthcare organizations quickly launch an investigation to find the source and scope of the issue. These investigations can be quite costly, to say nothing of the penalties for the breach itself and the damage to reputation and brand. This white paper details new affordable software tools that can help healthcare …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds