다음을 통해 공유


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

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

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

발언

Windows Vista 이상용으로 릴리스된 Microsoft Windows SDK(소프트웨어 개발 키트)에서 헤더 파일의 구성이 변경되었으며 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