Partilhar via


IPPROTO_UDP opções de soquete

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 dede soqueteespecificada como UDP (IPPROTO_UDP). Consulte as páginas de referência getsockopt e função setsockopt para obter mais informações sobre como obter e definir opções de soquete.

Para enumerar protocolos e descobrir propriedades suportadas para cada protocolo instalado, use o WSAEnumProtocols, WSCEnumProtocolsou WSCEnumProtocols32 função.

Opções

Opção Obter Conjunto Tipo de optval Descrição
UDP_CHECKSUM_COVERAGE (ws2tcpip.h) Sim Sim DWORD (booleano) Quando TRUE, os datagramas UDP são enviados com uma soma de verificação.
UDP_NOCHECKSUM (ws2tcpip.h) Sim Sim DWORD (booleano) Quando TRUE, os datagramas UDP são enviados com a soma de verificação zero. Obrigatório para prestadores 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 pode simplesmente armazenar essa opção sem tomar nenhuma ação. Esta opção não é suportada para IPv6.
UDP_RECV_MAX_COALESCED_SIZE (ws2ipdef.h; incluir ws2tcpip.h) Sim Sim DWORD Quando definido como um valor diferente de zero, vários datagramas recebidos podem ser aglutinados 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 aglutinadas que podem ser indicadas ao seu aplicativo. Mensagens não agrupadas maiores do que o valor da opção ainda podem ser indicadas. O valor padrão é 0 (sem coalescência). Os datagramas só serão aglutinados se forem originados do mesmo endereço e porta de origem. Todos os datagramas aglutinados serão do mesmo tamanho, exceto o último datagrama, que pode ser menor. Se seu aplicativo quiser recuperar os tamanhos de datagrama (exceto o último datagrama, que pode diferir) que foram agrupados, você deve usar uma API de recebimento que ofereça suporte a informações de controle (como LPFN_WSARECVMSG (WSARecvMsg)). O tamanho de todas, 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 o WSAGetUdpRecvMaxCoalescedSize e funções de WSASetUdpRecvMaxCoalescedSize em vez da opção de soquete diretamente.
UDP_SEND_MSG_SIZE (ws2ipdef.h; incluir ws2tcpip.h) Sim Sim DWORD Quando definido como um valor diferente de zero, os buffers enviados pelo seu aplicativo são divididos em várias mensagens pela pilha de rede. O valor da opção representa o tamanho de cada mensagem decomposta. O valor da opção é representado em bytes. O tamanho do último segmento pode ser menor do que o valor da opção. O valor padrão é 0 (sem segmentação). Seu aplicativo deve definir um valor inferior ao MTU do caminho para o(s) destino(s) para evitar a fragmentação do IP. Para segurança de tipo, seu aplicativo deve usar o WSAGetUdpSendMessageSize e WSASetUdpSendMessageSize funções 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 dos 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.

Requerimentos

Exigência Valor
Cabeçalho
ws2ipdef.h (inclui ws2tcpip.h) e ws2tcpip.h
Winsock2.h no Windows Server 2003, Windows XP e Windows 2000