네트워크 프로그래밍을 하다가 포스트합니다.
가끔 IP주소를 알아야 하는데 원도우 네트워크 속성을 보거나, 프롬프트에서 ipconfig 실행합니다.
위와 같은 방법으로 알 수 있습니다. 만. 

Win32API로 Local IP 얻어오는 방법, 여러 IP를 갖고있는 컴퓨터의 IP들을 얻어오는 소스코드, 실행화일 입니다.

Tool : Visual C++ 6.0(Win32API)

소스코드 : GetIPAddr.zip
실행화일 : GetIPexe.zip

실행화면입니다. IP가 3개나 있습니다. (ipconfig 실행한 것과 같네요)


[Source Code]
    :
BOOL GetLocalIPAddr()
{
     WSADATA wsa;
     IN_ADDR addr;

    
     char LocalName[256], IPAddr[15], i = 0;


     if(WSAStartup(MAKEWORD(2,2), &wsa) != 0) return FALSE;

     if(gethostname(LocalName, 256) == SOCKET_ERROR) return FALSE;

    
     HOSTENT *ptr = gethostbyname(LocalName);
     if(ptr == NULL) return FALSE;


     while(ptr->h_addr_list[i] != NULL)
     {
          memcpy(&addr, ptr->h_addr_list[i], ptr->h_length);
          wsprintf(IPAddr, "%s", inet_ntoa(addr));

          SendMessage(hList, LB_ADDSTRING, 0, (LPARAM)IPAddr);  //------------------- Add LocalIP in ListBox.
          i++;
     }
    

     WSACleanup();
     return TRUE;
}

출처 : http://i0nucleus.egloos.com/1919168


'프로그래밍 > Network' 카테고리의 다른 글

error LNK2019: unresolved external symbol __imp__socket@12  (0) 2013.03.11
[winsock2] Nagle 알고리즘  (0) 2013.03.08
PF_INET , AF_INET  (0) 2013.03.06
by 개발자가 되자! 2013. 3. 5. 19:25