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