char* ReturnMyIpAddress()
{
int re;
char name[255], *ip = NULL;
PHOSTENT phostinfo;
re = gethostname(name , sizeof(name));
if(re == 0)
{
if((phostinfo = gethostbyname(name)) != NULL)
{
ip = inet_ntoa(*(struct in_addr *)*phostinfo->h_addr_list);
}
}
return ip;
}
/*****************************************************************************
gethostbyname()함수를 호출하면 인터넷 주소를 리턴받을수 있는데,
문제는 이 함수가 리턴하는 주소가 우리가 알아볼 수 있는 포맷이 아니라는 것이다.
따라서 inet_nota()함수를 통해 문자열로 변환하고, 이 변환된 주소를 함수의 리턴 값으로
사용한다.
inet_ntoa() 함수는 inet_addr()함수와는 정반대의 역할을 수행한다.
****************************************************************************/
/*****************************************************************************
gethostname()
설 명 : 로컬 머신의 호스트 네임을 알아낸다.
원 형 : int gethostname(char FAR * name , int namelen);
리턴값 : 성공하면 0을 리턴한다.
gethostbyname()
설 명 : 정보를 알고 싶은 호스트의 이름을 인자로 주면,
해당 호스트를 검색하여 발견할 경우 HOSTENT 구조체의 포인터를 리턴한다.
원 형 : struct hostent FAR * gethostbyname(const char FAR * name);
리턴값 : 성공하면 HOSTENT 구조체의 포인터를 리턴하고 , 실패하면 NULL을 리턴한다.
*********************************************************************************/