Compartir a través de


Opciones de socket IPPROTO_UDP

En la tabla siguiente se describen IPPROTO_UDP opciones de socket que se aplican a los sockets creados para las familias de direcciones IPv4 e IPv6 (AF_INET y AF_INET6) con el parámetro de protocolo a la función de socket especificada como UDP (IPPROTO_UDP). Consulte las páginas de referencia de la función getsockopt y setsockopt para obtener más información sobre cómo obtener y establecer opciones de socket.

Para enumerar protocolos y detectar propiedades admitidas para cada protocolo instalado, use la función WSAEnumProtocols, WSCEnumProtocols o WSCEnumProtocols32 .

Opciones

Opción Obtener Set Tipo optval Descripción
UDP_CHECKSUM_COVERAGE (ws2tcpip.h) DWORD (booleano) Cuando es TRUE, los datagramas UDP se envían con una suma de comprobación.
UDP_NOCHECKSUM (ws2tcpip.h) DWORD (booleano) Cuando es TRUE, los datagramas UDP se envían con la suma de comprobación de cero. Necesario para los proveedores de servicios. Si un proveedor de servicios no tiene un mecanismo para deshabilitar el cálculo de suma de comprobación udp, puede simplemente almacenar esta opción sin realizar ninguna acción. Esta opción no es compatible con IPv6.
UDP_RECV_MAX_COALESCED_SIZE (ws2ipdef.h; include ws2tcpip.h) DWORD Cuando se establece en un valor distinto de cero, se pueden fusionar varios datagramas recibidos en un solo búfer de mensajes antes de indicarse a la aplicación. El valor de opción representa el tamaño máximo del mensaje en bytes para los mensajes fusionados que se pueden indicar en la aplicación. Los mensajes no fusionados mayores que el valor de opción todavía se pueden indicar. El valor predeterminado es 0 (sin fusión). Los datagramas solo se fusionarán si se originaron en la misma dirección de origen y puerto. Todos los datagramas fusionados tendrán el mismo tamaño, excepto el último datagrama, que puede ser menor. Si la aplicación quiere recuperar los tamaños del datagrama (excepto el último datagrama, que puede diferir) que se han combinado, debe usar una API de recepción que admita información de control (por ejemplo, LPFN_WSARECVMSG (WSARecvMsg). El tamaño de todo, pero el último mensaje se puede encontrar en el mensaje de control UDP_COALESCED_INFO , que es de tipo DWORD. Para la seguridad de tipos, la aplicación debe usar las funciones WSAGetUdpRecvMaxCoalescedSize y WSASetUdpRecvMaxCoalescedSize en lugar de la opción de socket directamente.
UDP_SEND_MSG_SIZE (ws2ipdef.h; include ws2tcpip.h) DWORD Cuando se establece en un valor distinto de cero, los búferes enviados por la aplicación se dividen en varios mensajes por la pila de red. El valor de opción representa el tamaño de cada mensaje desglosado. El valor de opción se representa en bytes. El tamaño del último segmento puede ser menor que el valor de la opción. El valor predeterminado es 0 (sin segmentación). La aplicación debe establecer un valor inferior al MTU de la ruta de acceso a los destinos para evitar la fragmentación de IP. Para la seguridad de tipos, la aplicación debe usar las funciones WSAGetUdpSendMessageSize y WSASetUdpSendMessageSize en lugar de la opción de socket directamente.

Compatibilidad heredada de Windows con opciones de IPPROTO_UDP

UDP_CHECKSUM_COVERAGE no está disponible en Windows 2000 y en Windows NT4. UDP_CHECKSUM_COVERAGE y UDP_NOCHECKSUM no están disponibles en Windows 9x/Me.

Comentarios

En el Kit de desarrollo de software (SDK) de Microsoft Windows publicado para Windows Vista y versiones posteriores, la organización de archivos de encabezado ha cambiado y IPPROTO_UDP nivel se define en el archivo de encabezado Ws2def.h que se incluye automáticamente en el archivo de encabezado Winsock2.h . Las opciones de socket IPPROTO_UDP se definen en el archivo de encabezado Ws2tcpip.h . El archivo de encabezado Ws2def.h nunca debe usarse directamente.

Requisitos

Requisito Value
Encabezado
ws2ipdef.h (incluya ws2tcpip.h) y ws2tcpip.h
Winsock2.h en Windows Server 2003, Windows XP y Windows 2000