다음을 통해 공유


기본 Winsock 애플리케이션 만들기

기본 Winsock 애플리케이션을 만들려면

  1. 빈 프로젝트를 새로 만듭니다.

  2. 프로젝트에 빈 C++ 원본 파일을 추가합니다.

  3. 빌드 환경이 Microsoft SDK(Windows 소프트웨어 개발 키트) 또는 이전 SDK(플랫폼 소프트웨어 개발 키트)의 Include, Lib 및 Src 디렉터리를 참조하는지 확인합니다.

  4. 빌드 환경이 Winsock 라이브러리 파일 Ws2_32.lib에 연결되는지 확인합니다. Winsock을 사용하는 애플리케이션은 Ws2_32.lib 라이브러리 파일과 연결되어야 합니다. #pragma 주석은 링커에 Ws2_32.lib 파일이 필요하다는 것을 나타냅니다.

  5. Winsock 애플리케이션 프로그래밍을 시작합니다. Winsock 2 헤더 파일을 포함하여 Winsock API를 사용합니다. Winsock2.h 헤더 파일에는 대부분의 Winsock 함수, 구조체 및 정의가 포함되어 있습니다. Ws2tcpip.h 헤더 파일에는 IP 주소를 검색하는 데 사용되는 최신 함수 및 구조를 포함하는 TCP/IP용 WinSock 2 Protocol-Specific 부속서 문서에 도입된 정의가 포함되어 있습니다.

    참고

    Stdio.h는 표준 입력 및 출력, 특히 printf() 함수에 사용됩니다.

     

#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}

참고

애플리케이션이 IP 도우미 API를 사용하는 경우 Iphlpapi.h 헤더 파일이 필요합니다. Iphlpapi.h 헤더 파일이 필요한 경우 Winsock2.h 헤더 파일의 #include 줄을 Iphlpapi.h 헤더 파일의 #include 줄 앞에 배치해야 합니다.

Winsock2.h 헤더 파일은 내부적으로 Windows.h 헤더 파일의 핵심 요소를 포함하므로 일반적으로 Winsock 애플리케이션에서 Windows.h 헤더 파일에 대한 #include 줄이 없습니다. Windows.h 헤더 파일에 #include 줄이 필요한 경우 앞에 #define WIN32_LEAN_AND_MEAN 매크로가 있어야 합니다. 기록상의 이유로 Windows.h 헤더는 기본적으로 Windows Sockets 1.1에 대한 Winsock.h 헤더 파일을 포함합니다. Winsock.h 헤더 파일의 선언은 Windows Sockets 2.0에 필요한 Winsock2.h 헤더 파일의 선언과 충돌합니다. WIN32_LEAN_AND_MEAN 매크로를 사용하면 Winsock.hWindows.h 헤더에 포함되지 않습니다. 이를 보여 주는 예제는 다음과 같습니다.

 

#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif

#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>

#pragma comment(lib, "Ws2_32.lib")

int main() {
  return 0;
}

다음 단계: Winsock 초기화

윈삭과 함께하는 시작

서버 및 클라이언트 정보