Hi,
I wish to get the system IP address in my C program. Unfortunately, when I tried the following code, I kept getting 127.0.1.1 and not the actual IP address of my system.
struct sockaddr_in server_addr;
struct hostent *host;
char hostname[256];
gethostname(hostname, sizeof(hostname));
host = gethostbyname(hostname);
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(5000);
server_addr.sin_addr = *((struct in_addr *)host->h_addr);
printf("IP address: %s\n", inet_ntoa(server_addr.sin_addr));
Thanks!
|
Go4Expert Founder
|
![]() |
| 7May2010,08:40 | #2 |
|
What is the string in your hostname?
|
|
Newbie Member
|
|
| 7May2010,12:59 | #3 |
|
Quote:
Originally Posted by hraja WORD wVersionRequested; WSADATA wsaData; int err;/* Use the MAKEWORD(lowbyte, highbyte) macro declared in Windef.h */ wVersionRequested = MAKEWORD(2, 2); err = WSAStartup(wVersionRequested, &wsaData); Now it may work .... :-) |


