*내부 IP
//StdAfx.h에 선언
#include "winsock2.h"
//StdAfx.h에 선언
#include "winsock2.h"
#pragma comment(lib, "WS2_32.lib")
#define DESIRED_WINSOCK_VERSION 0x0101
#define MINIMUM_WINSOCK_VERSION 0x0001
//선언 끝
//함수구현
//선언 끝
//함수구현
CString GetInIpAddress()
{
WSADATA wsadata;
CString strIP; // 이 변수에 IP주소가 저장된다.
strIP = "";
if( !WSAStartup( DESIRED_WINSOCK_VERSION, &wsadata ) )
{
if( wsadata.wVersion >= MINIMUM_WINSOCK_VERSION )
{
HOSTENT *p_host_info;
IN_ADDR in;
char host_name[128]={0, };
gethostname(host_name, 128);
p_host_info = gethostbyname( host_name );
if( p_host_info != NULL )
{
for( int i = 0; p_host_info->h_addr_list[i]; i++ )
{
memcpy( &in, p_host_info->h_addr_list[i], 4 );
strIP = inet_ntoa( in );
}
}
}
WSACleanup();
}
return strIP;
}
*외부 IP
#include <afxsock.h>
//함수구현
*외부 IP
#include <afxsock.h>
//함수구현
CString GetIpAddress()
{
WORD wVersionRequested;
WSADATA wsaData;
char name[255];
PHOSTENT hostinfo;
CString strIpAddress = _T("");
wVersionRequested = MAKEWORD(2, 0);
if(WSAStartup(wVersionRequested, &wsaData) == 0)
{
if(gethostname(name, sizeof(name)) == 0)
{
if((hostinfo = gethostbyname(name)) != NULL)
strIpAddress = inet_ntoa (*(struct in_addr *)*hostinfo->h_addr_list);
}
WSACleanup();
}
return strIpAddress;
}
'MFC' 카테고리의 다른 글
[MFC] abs() 함수 (0) | 2012.01.18 |
---|---|
Win32 API 주요 함수 (0) | 2012.01.16 |
[MFC] 파일에 사용한 한글이 깨질때.. (0) | 2011.12.15 |
MFC 네트워크 드라이버 연결 (0) | 2011.12.07 |
예약작업실행 (0) | 2011.12.05 |