IPPROTO_UDP套接字選項
下表說明套用至針對 IPv4 和 IPv6 位址系列 (AF_INET 和 AF_INET6) 所建立之套接字的 IPPROTO_UDP 套接字選項,並將 通訊協定 參數套用至指定為 UDP 的 套接字 函式 IPPROTO_UDP。 如需取得和設定套接字選項的詳細資訊,請參閱 getsockopt 和 setsockopt 函式參考頁面。
若要列舉每個已安裝通訊協定的通訊協定和探索支援的屬性,請使用 WSAEnumProtocols、WSCEnumProtocols或 WSCEnumProtocols32 函式。
選項
選擇 | 獲取 | 設置 | Optval 類型 | 描述 |
---|---|---|---|---|
UDP_CHECKSUM_COVERAGE (ws2tcpip.h) | 是的 | 是的 | DWORD (布爾值) | 當 TRUE時,UDP 數據報會以總和檢查碼傳送。 |
UDP_NOCHECKSUM (ws2tcpip.h) | 是的 | 是的 | DWORD (布爾值) | 當 TRUE時,UDP 數據報會以零總和檢查碼傳送。 服務提供者的必要專案。 如果服務提供者沒有停用 UDP 總和檢查碼計算的機制,它可能只會儲存此選項而不採取任何動作。 IPv6 不支援此選項。 |
UDP_RECV_MAX_COALESCED_SIZE (ws2ipdef.h; include ws2tcpip.h) | 是的 | 是的 | DWORD | 當設定為非零值時,多個接收的數據報可能會聯合成單一訊息緩衝區,再向您的應用程式指示。 選項值代表可向您的應用程式指出之聯合訊息的位元組大小上限。 可能仍會指出大於選項值的未聯合訊息。 預設值為 0(無聯合)。 只有在數據報源自相同的來源位址和埠時,才會合併數據報。 所有合併的數據報的大小都會相同,但最後一個數據報可能較小。 如果您的應用程式想要擷取數據報大小(但最後一個數據報可能不同),則您必須使用支援控制資訊的接收API(例如 LPFN_WSARECVMSG (WSARecvMsg))。 除了最後一則訊息的大小,可以在類型為 DWORD 的 UDP_COALESCED_INFO 控件訊息中找到。 針對類型安全性,您的應用程式應該使用 WSAGetUdpRecvMaxCoalescedSize 和 WSASetUdpRecvMaxCoalescedSize 函式,而不是直接使用套接字選項。 |
UDP_SEND_MSG_SIZE (ws2ipdef.h; include ws2tcpip.h) | 是的 | 是的 | DWORD | 當設定為非零值時,應用程式所傳送的緩衝區會依網路堆疊細分成多個訊息。 選項值代表每個細分訊息的大小。 選項值是以位元組表示。 最後一個區段的大小可能小於選項的值。 預設值為 0(無分割)。 您的應用程式應該設定低於目的地之路徑 MTU 的值,以避免 IP 片段。 針對類型安全性,您的應用程式應該使用 WSAGetUdpSendMessageSize 和 WSASetUdpSendMessageSize 函式,而不是直接使用套接字選項。 |
IPPROTO_UDP選項的舊版 Windows 支援
Windows 2000 和 Windows NT4 上無法使用 UDP_CHECKSUM_COVERAGE。 Windows 9x/Me 上無法使用 UDP_CHECKSUM_COVERAGE 和 UDP_NOCHECKSUM。
言論
在 Windows Vista 和更新版本的 Microsoft Windows 軟體開發工具包 (SDK) 上,頭檔的組織已變更,IPPROTO_UDP 層級定義於 Ws2def.h 頭檔中,該頭文件會自動包含在 Winsock2.h 頭檔中。 IPPROTO_UDP 套接字選項定義於 Ws2tcpip.h 頭檔中。 Ws2def.h 頭文件不應該直接使用。
要求
要求 | 價值 |
---|---|
頁眉 |
|