로컬 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
댓글 달기