다음을 통해 공유


지원되는 최대 소켓 수

특정 Windows 소켓 서비스 공급자가 지원하는 최대 소켓 수는 구현에 따라 다릅니다. Microsoft Winsock 공급자는 로컬 컴퓨터에서 사용 가능한 메모리에서만 지원되는 최대 소켓 수를 제한합니다. 그러나 타사 Winsock 공급자는 지원되는 소켓 수에 제한이 있을 수 있습니다. 애플리케이션은 특정 수의 소켓의 가용성에 대해 가정하지 않아야 합니다. 이 항목에 대한 자세한 내용은 WSAStartup을 참조 하세요.

FD_SET 및 선택

UNIX 환경에서 Windows로 애플리케이션을 포팅하는 데 사용할 수 있도록 Winsock2.h 헤더 파일에는 여러 FD_XXX 매크로가 정의되어 있습니다. 이러한 매크로는 애플리케이션을 Windows로 포팅하기 위해 selectWSAPoll 함수와 함께 사용됩니다. Windows 소켓 애플리케이션에서 사용할 수 있는 최대 소켓 수는 매니페스트 상수 FD_SETSIZE 영향을 받지 않습니다. Winsock2.h 헤더 파일에 정의된 이 값은 select 함수에 사용되는 fd_set 구조를 생성하는 데 사용됩니다. Winsock2.h기본값은 64입니다. 애플리케이션이 selectWSAPoll 함수를 사용하여 64개 이상의 소켓으로 작업할 수 있도록 설계된 경우 구현자는 Winsock2.h 헤더 파일을 포함하기 전에 모든 소스 파일에서 매니페스트 FD_SETSIZE 정의해야 합니다. 이 작업을 수행하는 한 가지 방법은 메이크파일의 컴파일러 옵션 내에 정의를 포함하는 것입니다. 예를 들어 Microsoft C++용 컴파일러 명령줄에 옵션으로 "-DFD_SETSIZE=128"을 추가할 수 있습니다. FD_SETSIZE 특정 값으로 정의하는 것은 Windows 소켓 서비스 공급자가 제공하는 실제 소켓 수에 영향을 주지 않는다는 점을 강조해야 합니다. 이 값은 selectWSAPoll 함수에서 사용하는 FD_XXX 매크로에만 영향을 줍니다.

fd_set

소켓 애플리케이션을 Winsock으로 포팅

select

Winsock 프로그래밍 고려 사항

WSAStartup

WSAPoll