Bagikan melalui


IPPROTO_UDP opsi soket

Tabel berikut ini menjelaskan IPPROTO_UDP opsi soket yang berlaku untuk soket yang dibuat untuk keluarga alamat IPv4 dan IPv6 (AF_INET dan AF_INET6) dengan parameter protokol ke fungsi soket yang ditentukan sebagai UDP (IPPROTO_UDP). Lihat halaman referensi fungsi getsockopt dan setsockopt untuk informasi selengkapnya tentang mendapatkan dan mengatur opsi soket.

Untuk menghitung protokol dan menemukan properti yang didukung untuk setiap protokol yang diinstal, gunakan fungsi WSAEnumProtocols, WSCEnumProtocols, atau WSCEnumProtocols32 .

Opsi

Opsi Dapatkan Set Jenis optval Deskripsi
UDP_CHECKSUM_COVERAGE (ws2tcpip.h) ya ya DWORD (boolean) Ketika TRUE, datagram UDP dikirim dengan checksum.
UDP_NOCHECKSUM (ws2tcpip.h) ya ya DWORD (boolean) Ketika TRUE, datagram UDP dikirim dengan checksum nol. Diperlukan untuk penyedia layanan. Jika penyedia layanan tidak memiliki mekanisme untuk menonaktifkan perhitungan checksum UDP, itu mungkin hanya menyimpan opsi ini tanpa mengambil tindakan apa pun. Opsi ini tidak didukung untuk IPv6.
UDP_RECV_MAX_COALESCED_SIZE (ws2ipdef.h; termasuk ws2tcpip.h) ya ya DWORD Ketika diatur ke nilai bukan nol, beberapa datagram yang diterima dapat digabungkan ke dalam satu buffer pesan sebelum ditunjukkan ke aplikasi Anda. Nilai opsi mewakili ukuran pesan maksimum dalam byte untuk pesan yang digabungkan yang dapat ditunjukkan ke aplikasi Anda. Pesan yang tidak dikoalescasi yang lebih besar dari nilai opsi mungkin masih ditunjukkan. Nilai defaultnya adalah 0 (tidak ada coalescing). Datagram hanya akan digabungkan jika berasal dari alamat sumber dan port yang sama. Semua datagram yang digabungkan akan berukuran sama—kecuali datagram terakhir, yang mungkin lebih kecil. Jika aplikasi Anda ingin mengambil ukuran datagram (kecuali datagram terakhir, yang mungkin berbeda) yang digabungkan, Anda harus menggunakan API terima yang mendukung informasi kontrol (seperti LPFN_WSARECVMSG (WSARecvMsg)). Ukuran semua kecuali pesan terakhir dapat ditemukan dalam pesan kontrol UDP_COALESCED_INFO , yang berjenis DWORD. Untuk keamanan jenis, aplikasi Anda harus menggunakan fungsi WSAGetUdpRecvMaxCoalescedSize dan WSASetUdpRecvMaxCoalescedSize alih-alih opsi soket secara langsung.
UDP_SEND_MSG_SIZE (ws2ipdef.h; termasuk ws2tcpip.h) ya ya DWORD Saat diatur ke nilai bukan nol, buffer yang dikirim oleh aplikasi Anda dipecah menjadi beberapa pesan oleh tumpukan jaringan. Nilai opsi mewakili ukuran setiap pesan yang dipecah. Nilai opsi diwakili dalam byte. Ukuran segmen terakhir mungkin kurang dari nilai opsi. Nilai defaultnya adalah 0 (tanpa segmentasi). Aplikasi Anda harus menetapkan nilai yang lebih rendah dari MTU jalur ke tujuan untuk menghindari fragmentasi IP. Untuk keamanan jenis, aplikasi Anda harus menggunakan fungsi WSAGetUdpSendMessageSize dan WSASetUdpSendMessageSize alih-alih opsi soket secara langsung.

Dukungan Windows warisan untuk opsi IPPROTO_UDP

UDP_CHECKSUM_COVERAGE tidak tersedia pada Windows 2000 dan pada Windows NT4. UDP_CHECKSUM_COVERAGE dan UDP_NOCHECKSUM tidak tersedia pada Windows 9x/Me.

Keterangan

Pada Kit Pengembangan Perangkat Lunak (SDK) Microsoft Windows yang dirilis untuk Windows Vista dan yang lebih baru, organisasi file header telah berubah dan tingkat IPPROTO_UDP didefinisikan dalam file header Ws2def.h yang secara otomatis disertakan dalam file header Winsock2.h . Opsi soket IPPROTO_UDP ditentukan dalam file header Ws2tcpip.h . File header Ws2def.h tidak boleh digunakan secara langsung.

Persyaratan

Persyaratan Nilai
Header
ws2ipdef.h (termasuk ws2tcpip.h), dan ws2tcpip.h
Winsock2.h di Windows Server 2003, Windows XP, dan Windows 2000