IPPROTO_UDP 소켓 옵션

다음 표에서는 UDP(IPPROTO_UDP )로 지정된 소켓 함수에 대한 프로토콜 매개 변수를 사용하여 IPv4 및 IPv6 주소 패밀리(AF_INET 및 AF_INET6)에 대해 만든 소켓에 적용되는 IPPROTO_UDP 소켓 옵션에 대해 설명합니다. 소켓 옵션을 가져오고 설정하는 방법에 대한 자세한 내용은 getsockoptsetsockopt 함수 참조 페이지를 참조하세요.

프로토콜을 열거하고 설치된 각 프로토콜에 대해 지원되는 속성을 검색하려면 WSAEnumProtocols, WSCEnumProtocols 또는 WSCEnumProtocols32 함수를 사용합니다.

옵션

옵션 가져오기 설정 Optval 유형 설명
UDP_CHECKSUM_COVERAGE(ws2tcpip.h) DWORD(부울) TRUE이면 체크섬과 함께 UDP 데이터그램이 전송됩니다.
UDP_NOCHECKSUM(ws2tcpip.h) DWORD(부울) TRUE이면 체크섬이 0인 UDP 데이터그램이 전송됩니다. 서비스 공급자에 필요합니다. 서비스 공급자에 UDP 체크섬 계산을 사용하지 않도록 설정하는 메커니즘이 없는 경우 아무 작업도 수행하지 않고 이 옵션을 저장할 수 있습니다. 이 옵션은 IPv6에서 지원되지 않습니다.
UDP_RECV_MAX_COALESCED_SIZE(ws2ipdef.h; ws2tcpip.h 포함) DWORD 0이 아닌 값으로 설정하면 여러 개의 수신된 데이터그램이 애플리케이션에 표시되기 전에 단일 메시지 버퍼로 병합될 수 있습니다. 옵션 값은 애플리케이션에 표시할 수 있는 병합된 메시지의 최대 메시지 크기(바이트)를 나타냅니다. 옵션 값보다 큰 병합되지 않은 메시지는 여전히 표시될 수 있습니다. 기본값은 0(병합 없음)입니다. 데이터그램은 동일한 원본 주소 및 포트에서 시작된 경우에만 병합됩니다. 병합된 모든 데이터그램의 크기는 같으며 마지막 데이터그램은 더 작을 수 있습니다. 애플리케이션이 병합된 데이터그램 크기(마지막 데이터그램 제외)를 검색하려는 경우 제어 정보(예: LPFN_WSARECVMSG(WSARecvMsg))를 지원하는 수신 API를 사용해야 합니다. 마지막 메시지를 제외한 모든 메시지의 크기는 DWORD 형식인 UDP_COALESCED_INFO 제어 메시지에서 찾을 수 있습니다. 형식 안전을 위해 애플리케이션은 소켓 옵션 대신 WSAGetUdpRecvMaxCoalescedSizeWSASetUdpRecvMaxCoalescedSize 함수를 사용해야 합니다.
UDP_SEND_MSG_SIZE(ws2ipdef.h; ws2tcpip.h 포함) DWORD 0이 아닌 값으로 설정하면 애플리케이션에서 보낸 버퍼가 네트워킹 스택에 의해 여러 메시지로 세분화됩니다. 옵션 값은 각 세분화 메시지의 크기를 나타냅니다. 옵션 값은 바이트로 표시됩니다. 마지막 세그먼트의 크기가 옵션 값보다 작을 수 있습니다. 기본값은 0(세분화 없음)입니다. 애플리케이션은 IP 조각화를 방지하기 위해 대상 경로의 MTU보다 낮은 값을 설정해야 합니다. 형식 안전을 위해 애플리케이션은 소켓 옵션 대신 WSAGetUdpSendMessageSizeWSASetUdpSendMessageSize 함수를 사용해야 합니다.

IPPROTO_UDP 옵션에 대한 레거시 Windows 지원

windows 2000 및 Windows NT4에서는 UDP_CHECKSUM_COVERAGE 사용할 수 없습니다. windows 9x/Me에서는 UDP_CHECKSUM_COVERAGE 및 UDP_NOCHECKSUM 사용할 수 없습니다.

설명

Windows Vista 이상용으로 릴리스된 Microsoft Windows SDK(소프트웨어 개발 키트)에서 헤더 파일의 organization 변경되었으며 IPPROTO_UDP 수준은 Winsock2.h 헤더 파일에 자동으로 포함된 Ws2def.h 헤더 파일에 정의됩니다. IPPROTO_UDP 소켓 옵션은 Ws2tcpip.h 헤더 파일에 정의되어 있습니다. Ws2def.h 헤더 파일은 직접 사용하면 안 됩니다.

요구 사항

요구 사항
헤더
ws2ipdef.h(ws2tcpip.h 포함) 및 ws2tcpip.h
Windows Server 2003, Windows XP 및 Windows 2000의 Winsock2.h