Freigeben über


IPPROTO_UDP-Socketoptionen

In der folgenden Tabelle werden IPPROTO_UDP Socketoptionen beschrieben, die für Sockets gelten, die für die IPv4- und IPv6-Adressfamilien (AF_INET und AF_INET6) mit dem Protokollparameter für die als UDP (IPPROTO_UDP) angegebene Socketfunktion erstellt wurden. Weitere Informationen zum Abrufen und Festlegen von Socketoptionen finden Sie auf den Referenzseiten für die Funktionen getsockopt und setsockopt .

Um Protokolle aufzulisten und unterstützte Eigenschaften für jedes installierte Protokoll zu ermitteln, verwenden Sie die Funktion WSAEnumProtocols, WSCEnumProtocols oder WSCEnumProtocols32 .

Optionen

Option Herunterladen Set Optval-Typ Beschreibung
UDP_CHECKSUM_COVERAGE (ws2tcpip.h) ja ja DWORD (boolesch) Bei TRUE werden UDP-Datagramme mit einer Prüfsumme gesendet.
UDP_NOCHECKSUM (ws2tcpip.h) ja ja DWORD (boolesch) Bei TRUE werden UDP-Datagramme mit der Prüfsumme 0 gesendet. Für Dienstanbieter erforderlich. Wenn ein Dienstanbieter nicht über einen Mechanismus zum Deaktivieren der UDP-Prüfsummenberechnung verfügt, kann er diese Option einfach speichern, ohne eine Aktion zu ergreifen. Diese Option wird für IPv6 nicht unterstützt.
UDP_RECV_MAX_COALESCED_SIZE (ws2ipdef.h; include ws2tcpip.h) ja ja DWORD Wenn sie auf einen Wert ungleich null festgelegt sind, können mehrere empfangene Datagramme zu einem einzelnen Nachrichtenpuffer zusammengefasst werden, bevor sie für Ihre Anwendung angezeigt werden. Der Optionswert stellt die maximale Nachrichtengröße in Bytes für zusammengeklammerte Nachrichten dar, die für Ihre Anwendung angegeben werden können. Nicht koalescierte Nachrichten, die größer als der Optionswert sind, können weiterhin angegeben werden. Der Standardwert ist 0 (keine Koalescierung). Datagramme werden nur dann zusammengeklammert, wenn sie von derselben Quelladresse und demselben Port stammen. Alle zusammengeknen Datagramme haben die gleiche Größe – mit Ausnahme des letzten Datagramms, das möglicherweise kleiner ist. Wenn Ihre Anwendung die Datagrammgrößen (mit Ausnahme des letzten Datagramms, die sich möglicherweise unterscheiden) abrufen möchte, die zusammengefragt wurden, müssen Sie eine Empfangs-API verwenden, die Steuerungsinformationen unterstützt (z. B. LPFN_WSARECVMSG (WSARecvMsg)). Die Größe aller bis auf die letzte Nachricht finden Sie in der UDP_COALESCED_INFO-Steuerelementnachricht vom Typ DWORD. Aus Gründen der Typsicherheit sollte Ihre Anwendung die Funktionen WSAGetUdpRecvMaxCoalescedSize und WSASetUdpRecvMaxCoalescedSize anstelle der Socketoption direkt verwenden.
UDP_SEND_MSG_SIZE (ws2ipdef.h; include ws2tcpip.h) ja ja DWORD Wenn sie auf einen Wert ungleich 0 festgelegt sind, werden die von Ihrer Anwendung gesendeten Puffer vom Netzwerkstapel in mehrere Nachrichten unterteilt. Der Optionswert stellt die Größe jeder aufgeschlüsselten Nachricht dar. Der Optionswert wird in Bytes dargestellt. Die Größe des letzten Segments kann kleiner als der Wert der Option sein. Der Standardwert ist 0 (keine Segmentierung). Ihre Anwendung sollte einen Wert festlegen, der niedriger als die MTU des Pfads zu den Zielzielen ist, um ip-Fragmentierung zu vermeiden. Aus Gründen der Typsicherheit sollte Ihre Anwendung die Funktionen WSAGetUdpSendMessageSize und WSASetUdpSendMessageSize anstelle der Socketoption direkt verwenden.

Legacy-Windows-Unterstützung für IPPROTO_UDP-Optionen

UDP_CHECKSUM_COVERAGE ist unter Windows 2000 und Windows NT4 nicht verfügbar. UDP_CHECKSUM_COVERAGE und UDP_NOCHECKSUM sind unter Windows 9x/Me nicht verfügbar.

Bemerkungen

Im Microsoft Windows Software Development Kit (SDK), das für Windows Vista und höher veröffentlicht wurde, wurde die organization von Headerdateien geändert, und IPPROTO_UDP Ebene wird in der Ws2def.h-Headerdatei definiert, die automatisch in der Winsock2.h-Headerdatei enthalten ist. Die IPPROTO_UDP Socketoptionen sind in der Headerdatei Ws2tcpip.h definiert. Die Ws2def.h-Headerdatei sollte nie direkt verwendet werden.

Anforderungen

Anforderung Wert
Header
ws2ipdef.h (include ws2tcpip.h) und ws2tcpip.h
Winsock2.h unter Windows Server 2003, Windows XP und Windows 2000