Dela via


IPPROTO_UDP socketalternativ

I följande tabell beskrivs IPPROTO_UDP socketalternativ som gäller för socketar som skapats för adressfamiljerna IPv4 och IPv6 (AF_INET och AF_INET6) med parametern protocol till socket- funktion som anges som UDP (IPPROTO_UDP). Se getsockopt och setsockopt funktionsreferenssidor för mer information om hur du hämtar och ställer in socketalternativ.

Om du vill räkna upp protokoll och identifiera egenskaper som stöds för varje installerat protokoll använder du funktionen WSAEnumProtocols, WSCEnumProtocolseller WSCEnumProtocols32.

Alternativ

Alternativ Ställa Optvaltyp Beskrivning
UDP_CHECKSUM_COVERAGE (ws2tcpip.h) Ja Ja DWORD (booleskt) När TRUEskickas UDP-datagram med en kontrollsumma.
UDP_NOCHECKSUM (ws2tcpip.h) Ja Ja DWORD (booleskt) När TRUEskickas UDP-datagram med kontrollsumman noll. Krävs för tjänsteleverantörer. Om en tjänstleverantör inte har någon mekanism för att inaktivera UDP-kontrollsummaberäkning kan den helt enkelt lagra det här alternativet utan att vidta några åtgärder. Det här alternativet stöds inte för IPv6.
UDP_RECV_MAX_COALESCED_SIZE (ws2ipdef.h; include ws2tcpip.h) Ja Ja DWORD När värdet är inställt på ett värde som inte är noll kan flera mottagna datagram samlas i en enda meddelandebuffert innan de anges för ditt program. Alternativvärdet representerar den maximala meddelandestorleken i byte för sammansejsade meddelanden som kan anges för ditt program. Meddelanden som inte är sammanslutna som är större än alternativvärdet kan fortfarande anges. Standardvärdet är 0 (ingen sammankoppling). Datagram sammanslags endast om de kommer från samma källadress och port. Alla sammanslagade datagram har samma storlek , förutom det sista datagrammet, som kan vara mindre. Om ditt program vill hämta datagramstorlekarna (förutom det sista datagrammet, som kan skilja sig åt) som sammanfogades, måste du använda ett mottagnings-API som stöder kontrollinformation (till exempel LPFN_WSARECVMSG (WSARecvMsg)). Storleken på alla utom det sista meddelandet finns i UDP_COALESCED_INFO kontrollmeddelandet, som är av typen DWORD. För typsäkerhet bör programmet använda WSAGetUdpRecvMaxCoalescedSize och WSASetUdpRecvMaxCoalescedSize funktioner i stället för socketalternativet direkt.
UDP_SEND_MSG_SIZE (ws2ipdef.h; include ws2tcpip.h) Ja Ja DWORD När värdet är inställt på ett värde som inte är noll delas buffertar som skickas av ditt program upp i flera meddelanden av nätverksstacken. Alternativvärdet representerar storleken på varje uppdelat meddelande. Alternativvärdet representeras i byte. Det sista segmentets storlek kan vara mindre än värdet för alternativet. Standardvärdet är 0 (ingen segmentering). Ditt program bör ange ett värde som är lägre än MTU för sökvägen till mål för att undvika IP-fragmentering. För typsäkerhet bör programmet använda funktionerna WSAGetUdpSendMessageSize och WSASetUdpSendMessageSize i stället för socketalternativet direkt.

Äldre Windows-stöd för IPPROTO_UDP alternativ

UDP_CHECKSUM_COVERAGE är inte tillgänglig i Windows 2000 och i Windows NT4. UDP_CHECKSUM_COVERAGE och UDP_NOCHECKSUM är inte tillgängliga i Windows 9x/Me.

Anmärkningar

I Microsoft Windows Software Development Kit (SDK) som släpptes för Windows Vista och senare har organisationen av huvudfiler ändrats och IPPROTO_UDP nivå definieras i Ws2def.h huvudfil som automatiskt ingår i Winsock2.h-huvudfilen. Alternativen för IPPROTO_UDP socket definieras i Ws2tcpip.h- huvudfil. Ws2def.h-huvudfilen ska aldrig användas direkt.

Krav

Krav Värde
Rubrik
ws2ipdef.h (inkludera ws2tcpip.h) och ws2tcpip.h
Winsock2.h på Windows Server 2003, Windows XP och Windows 2000