kyuseo의 게임 프로그래밍

자신의 아이피(IP) 주소 목록을 얻는 프로그램 본문

C++ 개발

자신의 아이피(IP) 주소 목록을 얻는 프로그램

kyuseo 2007. 12. 28. 19:56

개요..

 

다수의 아이피(IP)를 가지고 있는 경우 자신의 아이피(IP) 주소 목록을 얻는 프로그램입니다.

 

 

 

아래와 같이 winsock의 gethostname(), gethostbyname()을 이용하면 아이피 목록을 쉽게 알아낼 수 있습니다.

 

다운로드

 

 

핵심코드:

 

코드 참고 : http://www.debuglab.com/knowledge/getip.html

void GetMyIPArray( CArray< in_addr, in_addr& >& raIP )

{

    WSADATA WsaData;

    if( WSAStartup( 0x202, &WsaData ) == SOCKET_ERROR ) return;

 

    char name[256];

    PHOSTENT pHostInfo;

    struct sockaddr_in addr;

    

    // 자신의 호스트이름 얻기

    if( gethostname( name, sizeof( name ) ) == 0 )

    {

        // 호스트이름을 통하여 호스트정보 얻기

        pHostInfo = gethostbyname( name );

        if( pHostInfo )

        {

            // 반복해서 IP얻기

            for( int i=0; pHostInfo->h_addr_list[i] != NULL; i++ )

            {

                memcpy( &addr.sin_addr, pHostInfo->h_addr_list[i], pHostInfo->h_length );

                raIP.Add( addr.sin_addr );

            }

        }

    }

 

    WSACleanup();

}