Trebao bi da mi izlista sve moje IP adrese.
Medjutim, uvek izlista samo 127.0.0.1, cak i kada sam na Internetu.
char local_host[256];
struct hostent *lpHostEntry;
struct sockaddr_in sock_addr_in;
char * get_local_ip()
{
int rv = gethostname(local_host, 256);
if (rv!=0) return 0;
lpHostEntry = gethostbyname(local_host);
for (int i=0; i<10; i++)
{
if (lpHostEntry->h_addr_list[i]==0) break;
memcpy(&sock_addr_in.sin_addr, lpHostEntry->h_addr_list[i], lpHostEntry->h_length);
printf ( "IP=%s\n", inet_ntoa(sock_addr_in.sin_addr) );
}
}
Ovaj primer nisam probao na Windowsu, probao sam ga samo iz Linuxa, mada mislim da ne bi trebao to da bude problem, jer su funkcije i strukture kompatabilne.
Postoji li neki drugi nacin da dobijem svoj IP?
Ako sors ne moze da bude kompatabilan, onda dajte sta imate :)
[Ovu poruku je menjao Predrag Damnjanovic dana 07.05.2003. u 14:02 GMT]