로컬 IP 리스트를 얻어오는 함수가 리눅스에는 안됩니다.
글쓴이: wowcode / 작성시간: 토, 2004/02/28 - 12:53오후
bool get_local_ip_lists(strvec& ips) { char szHostName[128]; string str_ip; if(gethostname(szHostName, 128) != 0 ) { logobj.write_error(__FILE__, __LINE__, "gethostname failed"); return false; } struct hostent * pHost; pHost = gethostbyname(szHostName); if (!pHost) { logobj.write_error(__FILE__, __LINE__, "gethostbyname failed"); return false; } int n=0; struct in_addr inaddr; while(pHost->h_addr_list[n] != NULL) { inaddr.s_addr = *((unsigned long*)(pHost->h_addr_list[n])); str_ip = inet_ntoa(inaddr); logobj.write_debug("IPLIST : %s",str_ip.c_str()); ips.push_back(str_ip); n++; } return true; }
로컬 IP 리스트를 얻어오는 소스 입니다. 이 방법으로 윈도우즈에서는
잘 작동하는데 Linux에서는 동작하지 않네요. IP가 한개밖에 나오지 않습니다.
어떤 곳에 보니 이 방법이 리눅스에서는 동작하지 않는다고 하네요... :roll:
Forums:
http://bbs.kldp.org/viewtopic.php?t=768
http://bbs.kldp.org/viewtopic.php?t=768
참고하세요. 제목과 달리 내용에 원하시는 것이 있습니다.
---
http://coolengineer.com
댓글 달기