opsi soket IPPROTO_TCP
Tabel berikut ini menjelaskan opsi soket IPPROTO_TCP 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 TCP (IPPROTO_TCP). 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 |
---|---|---|---|---|
TCP_BSDURGENT | yes | yes | DWORD (Boolean) | Jika TRUE, penyedia layanan mengimplementasikan gaya Berkeley Software Distribution (BSD) (default) untuk menangani data yang dipercepat. Opsi ini adalah inversi dari opsi TCP_EXPEDITED_1122. Opsi ini dapat diatur pada koneksi hanya sekali. Setelah opsi ini diatur, opsi ini tidak dapat dinonaktifkan. Opsi ini tidak diperlukan untuk diterapkan oleh penyedia layanan. Opsi diaktifkan (diatur ke TRUE) secara default. |
TCP_EXPEDITED_1122 | yes | yes | DWORD (Boolean) | Jika TRUE, penyedia layanan mengimplementasikan data yang dipercepat seperti yang ditentukan dalam RFC-1222. Jika tidak, gaya Distribusi Perangkat Lunak Berkeley (BSD) (default) digunakan. Opsi ini dapat diatur pada koneksi hanya sekali. Setelah opsi ini diatur, opsi ini tidak dapat dinonaktifkan. Opsi ini tidak diperlukan untuk diterapkan oleh penyedia layanan. |
TCP_FAIL_CONNECT_ON_ICMP_ERROR | yes | yes | DWORD (Boolean) | Jika TRUE, panggilan API koneksi akan kembali setelah penerimaan kesalahan ICMP dengan nilai WSAEHOSTUNREACH. Alamat sumber kesalahan kemudian akan tersedia melalui opsi soket TCP_ICMP_ERROR_INFO. Jika FALSE, soket berulah secara normal. Default dinonaktifkan (diatur ke FALSE). Untuk keamanan tipe, Anda harus menggunakan fungsi WSAGetFailConnectOnIcmpError dan WSASetFailConnectOnIcmpError alih-alih menggunakan opsi soket secara langsung. |
TCP_ICMP_ERROR_INFO | yes | no | ICMP_ERROR_INFO | Mengambil info kesalahan ICMP yang diterima oleh soket TCP selama panggilan koneksi yang gagal. Hanya berlaku pada soket TCP di mana TCP_FAIL_CONNECT_ON_ICMP_ERROR sebelumnya telah diaktifkan, dan koneksi telah mengembalikan WSAEHOSTUNREACH. Kueri tidak memblokir. Jika berhasil dikueri dan nilai optlen yang dikembalikan adalah 0, maka tidak ada kesalahan ICMP yang diterima sejak panggilan koneksi terakhir. Jika kesalahan ICMP diterima, infonya akan tersedia sampai koneksi dipanggil lagi. Info dikembalikan sebagai struktur ICMP_ERROR_INFO . Untuk keamanan jenis, Anda harus menggunakan fungsi WSAGetIcmpErrorInfo alih-alih menggunakan opsi soket secara langsung. |
TCP_KEEPCNT | yes | yes | DWORD | Mendapatkan atau mengatur jumlah pemeriksaan tetap hidup TCP yang akan dikirim sebelum koneksi dihentikan. Adalah ilegal untuk mengatur TCP_KEEPCNT ke nilai yang lebih besar dari 255. |
TCP_MAXRT | yes | yes | DWORD | Jika nilai ini non-negatif, nilai ini mewakili batas waktu koneksi yang diinginkan dalam hitungan detik. Jika -1, ini mewakili permintaan untuk menonaktifkan batas waktu koneksi (yaitu koneksi akan dikirim ulang selamanya). Jika batas waktu koneksi dinonaktifkan, batas waktu pengiriman ulang meningkat secara eksponensial untuk setiap transmisi ulang hingga nilai maksimum 60 detik dan kemudian tetap berada di sana. |
TCP_NODELAY | yes | yes | DWORD (Boolean) | Mengaktifkan atau menonaktifkan algoritma Nagle untuk soket TCP. Opsi ini dinonaktifkan (diatur ke FALSE) secara default. |
TCP_TIMESTAMPS | yes | yes | DWORD (Boolean) | Mengaktifkan atau menonaktifkan stempel waktu RFC 1323. Perhatikan bahwa ada juga konfigurasi global untuk tanda waktu (default nonaktif), "Tanda waktu" di (set/get)-nettcpsetting. Mengatur opsi soket ini akan mengambil alih pengaturan konfigurasi global tersebut. |
TCP_FASTOPEN | yes | yes | DWORD (Boolean) | Mengaktifkan atau menonaktifkan RFC 7413 TCP Fast Open, yang memungkinkan Anda untuk mulai mengirim data selama fase jabat tangan tiga arah untuk membuka koneksi. Perhatikan bahwa untuk menggunakan buka cepat, Anda harus menggunakan ConnectEx untuk membuat koneksi awal, dan menentukan data dalam parameter lpSendBuffer fungsi tersebut untuk ditransfer selama proses jabat tangan. Beberapa data di lpSendBuffer akan ditransfer di bawah protokol Buka Cepat. |
TCP_KEEPIDLE | yes | yes | DWORD | Mendapatkan atau mengatur jumlah detik koneksi TCP akan tetap menganggur sebelum pemeriksaan keepalive dikirim ke jarak jauh.
Catatan: |
TCP_KEEPINTVL | yes | yes | DWORD | Mendapatkan atau mengatur jumlah detik koneksi TCP akan menunggu respons keepalive sebelum mengirim pemeriksaan keepalive lainnya.
Catatan: |
Dukungan Windows untuk opsi IPPROTO_TCP
Opsi | Windows 10 | Windows 7 | Windows Server 2008 | Windows Vista |
---|---|---|---|---|
TCP_BSDURGENT | yes | yes | yes | yes |
TCP_EXPEDITED_1122 | yes | yes | yes | yes |
TCP_KEEPCNT | Dimulai dengan Windows 10, versi 1703 | |||
TCP_MAXRT | yes | yes | yes | yes |
TCP_NODELAY | yes | yes | yes | yes |
TCP_TIMESTAMPS | yes | yes | yes | yes |
TCP_FASTOPEN | Dimulai dengan Windows 10, versi 1607 |
Opsi | Windows Server 2003 | Windows XP | Windows 2000 | Windows NT4 | Windows 9x/Me | |
---|---|---|---|---|---|---|
TCP_BSDURGENT | yes | yes | yes | yes | ||
TCP_EXPEDITED_1122 | yes | yes | yes | |||
TCP_KEEPCNT | ||||||
TCP_MAXRT | ||||||
TCP_NODELAY | yes | yes | yes | yes | ||
TCP_TIMESTAMPS | ||||||
TCP_FASTOPEN |
Keterangan
Dalam Microsoft Windows Software Development Kit (SDK) yang dirilis untuk Windows Vista dan yang lebih baru, organisasi file header telah berubah dan tingkat IPPROTO_TCP ditentukan dalam file header Ws2def.h yang secara otomatis disertakan dalam file header Winsock2.h . Opsi soket IPPROTO_TCP , dengan pengecualian TCP_BSDURGENT, didefinisikan dalam file header Ws2ipdef.h yang secara otomatis disertakan dalam file header Ws2tcpip.h . Opsi TCP_BSDURGENT karena alasan historis didefinisikan dalam file header Mswsock.h . File header Ws2def.h dan Ws2ipdef.h tidak boleh digunakan secara langsung.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|