이 책에서 다루는 예제에서 공통으로 사용할 부분을 소개할게요. 참고로 이 책에서는 콘솔 응용프로그램 형태와 윈도우즈 응용 프로그램 형태를 모두 사용할 것입니다.
//common.h #pragma once #include <WinSock2.h> #include <Windows.h> #include <process.h> #include <stdio.h> #include <string.h> #include <stdlib.h> #include <malloc.h> #pragma comment(lib,"ws2_32") #pragma warning(disable:4996) IN_ADDR GetDefaultMyIP();
//common.cpp #include "common.h" IN_ADDR GetDefaultMyIP() { char localhostname[MAX_PATH]; IN_ADDR addr={0,}; if(gethostname(localhostname, MAX_PATH) == SOCKET_ERROR) { return addr; } HOSTENT *ptr = gethostbyname(localhostname); while(ptr && ptr->h_name) { if(ptr->h_addrtype == PF_INET) { memcpy(&addr, ptr->h_addr_list[0], ptr->h_length); break; } ptr++; } return addr; }