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 |
|