Opções de soquete IPPROTO_UDP

A tabela a seguir descreve IPPROTO_UDP opções de soquete que se aplicam a soquetes criados para as famílias de endereços IPv4 e IPv6 (AF_INET e AF_INET6) com o parâmetro de protocolo para a função de soquete especificada como UDP (IPPROTO_UDP). Consulte as páginas de referência da função getsockopt e setsockopt para obter mais informações sobre como obter e definir opções de soquete.

Para enumerar protocolos e descobrir propriedades com suporte para cada protocolo instalado, use a função WSAEnumProtocols, WSCEnumProtocols ou WSCEnumProtocols32 .

Opções

Opção Obter Definir Tipo optval Descrição
UDP_CHECKSUM_COVERAGE (ws2tcpip.h) sim sim DWORD (booliano) Quando TRUE, os datagramas UDP são enviados com uma soma de verificação.
UDP_NOCHECKSUM (ws2tcpip.h) sim sim DWORD (booliano) Quando TRUE, os datagramas UDP são enviados com a soma de verificação de zero. Necessário para provedores de serviços. Se um provedor de serviços não tiver um mecanismo para desabilitar o cálculo da soma de verificação UDP, ele poderá simplesmente armazenar essa opção sem executar nenhuma ação. Não há suporte para essa opção no IPv6.
UDP_RECV_MAX_COALESCED_SIZE (ws2ipdef.h; include ws2tcpip.h) sim sim DWORD Quando definido como um valor diferente de zero, vários datagramas recebidos podem ser agrupados em um único buffer de mensagens antes de serem indicados ao seu aplicativo. O valor da opção representa o tamanho máximo da mensagem em bytes para mensagens agrupadas que podem ser indicadas ao seu aplicativo. Mensagens não agrupadas maiores que o valor da opção ainda podem ser indicadas. O valor padrão é 0 (sem união). Os datagramas só serão agrupados se forem originados do mesmo endereço de origem e porta. Todos os datagramas unidos terão o mesmo tamanho, exceto o último datagrama, que pode ser menor. Se o aplicativo quiser recuperar os tamanhos de datagrama (exceto o último datagrama, que pode ser diferente) que foram unidos, você deverá usar uma API de recebimento que dê suporte a informações de controle (como LPFN_WSARECVMSG (WSARecvMsg)). O tamanho de todos, exceto a última mensagem, pode ser encontrado na mensagem de controle UDP_COALESCED_INFO , que é do tipo DWORD. Para segurança de tipo, seu aplicativo deve usar as funções WSAGetUdpRecvMaxCoalescedSize e WSASetUdpRecvMaxCoalescedSize em vez da opção de soquete diretamente.
UDP_SEND_MSG_SIZE (ws2ipdef.h; include ws2tcpip.h) sim sim DWORD Quando definido como um valor diferente de zero, os buffers enviados pelo aplicativo são divididos em várias mensagens pela pilha de rede. O valor da opção representa o tamanho de cada mensagem dividida. O valor da opção é representado em bytes. O tamanho do último segmento pode ser menor que o valor da opção. O valor padrão é 0 (sem segmentação). Seu aplicativo deve definir um valor menor que a MTU do caminho para os destinos para evitar a fragmentação de IP. Para segurança de tipo, seu aplicativo deve usar as funções WSAGetUdpSendMessageSize e WSASetUdpSendMessageSize em vez da opção de soquete diretamente.

Suporte herdado do Windows para opções de IPPROTO_UDP

UDP_CHECKSUM_COVERAGE não está disponível no Windows 2000 e no Windows NT4. UDP_CHECKSUM_COVERAGE e UDP_NOCHECKSUM não estão disponíveis no Windows 9x/Me.

Comentários

No Microsoft Windows Software Development Kit (SDK) lançado para Windows Vista e posterior, a organização de arquivos de cabeçalho foi alterada e IPPROTO_UDP nível é definido no arquivo de cabeçalho Ws2def.h , que é incluído automaticamente no arquivo de cabeçalho Winsock2.h . As opções de soquete IPPROTO_UDP são definidas no arquivo de cabeçalho Ws2tcpip.h . O arquivo de cabeçalho Ws2def.h nunca deve ser usado diretamente.

Requisitos

Requisito Valor
parâmetro
ws2ipdef.h (include ws2tcpip.h) e ws2tcpip.h
Winsock2.h no Windows Server 2003, Windows XP e Windows 2000