C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[41028] Re:자기 랜카드의 ip주소를 출력하는법좀
황경록 [] 2056 읽음    2005-07-13 19:53
^^...

즐빌하세요 !

AnsiString getLocalIP(int iSeq=0)
{
    char cszHostName[MAX_PATH];
    PHOSTENT lpHostent = NULL;
    struct sockaddr_in addr;
    AnsiString szLocalIP = "0.0.0.0";
    TStringList* pIPList = new TStringList();
    DWORD dwRet = 0;
    WORD wVersionRequested = MAKEWORD( 2, 0 );
    WSADATA wsaData;

    dwRet = WSAStartup( wVersionRequested, &wsaData );

    if( dwRet != 0 )
    {
        dwRet = WSAGetLastError();

        return szLocalIP;
    }

    try
    {
        dwRet = gethostname( cszHostName, sizeof(cszHostName) );

        if( dwRet != 0 )
        {
            dwRet = WSAGetLastError();

            return szLocalIP;
        }

        if( dwRet == 0  )
        {
            lpHostent = gethostbyname(cszHostName);

            if( lpHostent != NULL )
            {
                for( int i = 0; (lpHostent->h_addr_list[i] != NULL); i++ )
                {
                    memcpy( &(addr.sin_addr), lpHostent->h_addr_list[i], lpHostent->h_length );

                    pIPList->Add( inet_ntoa(addr.sin_addr) );
                }

                if( pIPList->Count == 0 )
                {
                    return szLocalIP;
                }

                if( (pIPList->Count <= iSeq) || (0 == iSeq) )
                {
                    szLocalIP = pIPList->Strings[0];

                    return szLocalIP;
                }

                szLocalIP = pIPList->Strings[iSeq];

                return szLocalIP;
            }
        }
    }
    __finally
    {
        delete pIPList;

        dwRet = WSACleanup();

        if( dwRet != 0 )
        {
       
        }
    }

    return szLocalIP;
}

초보자 님이 쓰신 글 :
: 만약 자기 컴퓨터와 인터넷모뎀이 다이렉트로 연결되어 있는 상태라면
:
: 인터넷모뎀으로부터 아이피주소를 받기에
:
: 랜카드 아이피 주소가
:
: 220.71.2.3으로 되어 있다고 하면요.
:
: 그 주소를 출력하는 법좀 알려주시면 감사하겠습니다.
:
: 만약 사설아이피로 공유기에 연결 되어 있다면
:
: 192.168.0.1 이런식으로 정해져 있다면
:
: 192.168.0.1이 출력 되어야 하겠죠.
:
: 혹시 아시는분 있으시면 답변해주시면 감사하겠습니다.

+ -

관련 글 리스트
41022 자기 랜카드의 ip주소를 출력하는법좀 초보자 1139 2005/07/13
41028     Re:자기 랜카드의 ip주소를 출력하는법좀 황경록 2056 2005/07/13
41034         Re:Re:자기 랜카드의 ip주소를 출력하는법좀 빌더여행 2492 2005/07/14
41029         헤더는 다음과 같이... 황경록 1642 2005/07/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.