Rumah >Java >javaTutorial >Bagaimanakah TCP Keep-Alive Menghalang Sambungan Soket Lapuk?

Bagaimanakah TCP Keep-Alive Menghalang Sambungan Soket Lapuk?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-10-26 08:42:30924semak imbas

How Does TCP Keep-Alive Prevent Stale Socket Connections?

Adakah Sambungan Soket TCP Mempunyai "Keep Alive"?

Ya, terdapat mekanisme tamat masa untuk sambungan soket TCP dipanggil TCP Keep-Alive. Ia menghalang sambungan soket daripada kekal terbuka selama-lamanya, menangani senario di mana satu pihak menamatkan sambungan tanpa memberitahu yang lain.

Proses TCP Keep-Alive

TCP Keep-Alive boleh dikonfigurasikan pada Linux melalui perkara berikut sifat:

  • tcp_keepalive_time (lalai: 7200 saat)
  • tcp_keepalive_probes (lalai: 9)
  • tcp_keepalive_intvl (lalai: 75 saat)Proses ini melibatkan penghantaran paket ACK kosong pada selang masa yang tetap sehingga respons diterima. Jika tiada respons diterima selepas bilangan probe yang ditentukan, sambungan akan ditamatkan.
Nota Pelaksanaan

Paket Keep-Alive adalah pilihan dan mungkin tidak boleh dihantar dengan pasti. Walau bagaimanapun, dalam praktiknya, kebanyakan sistem pengendalian dan pembekal awan menyokong mekanisme ini.

Menukar Tamat Masa TCP

Konfigurasi Setiap Soket (Java 11 dan ke atas):

Java 11 memperkenalkan keupayaan untuk mengkonfigurasi tamat masa TCP pada tahap setiap soket menggunakan kod asli.

Konfigurasi Seluruh Sistem:

Untuk versi Java dan pada sistem pengendalian lain, anda mungkin perlu menggunakan konfigurasi tamat masa pada peringkat sistem.

Linux:

Mac OS X:
# Echo commands to modify the values in /proc
echo 180 > /proc/sys/net/ipv4/tcp_keepalive_time
echo 3 > /proc/sys/net/ipv4/tcp_keepalive_probes
echo 10 > /proc/sys/net/ipv4/tcp_keepalive_intvl

Windows:
# Use sysctl to modify values
sysctl -w net.inet.tcp.keepidle=180000 net.inet.tcp.keepintvl=10000 net.inet.tcp.keepcnt=3

Kunci pendaftaran: HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTCPIPParameters

Atas ialah kandungan terperinci Bagaimanakah TCP Keep-Alive Menghalang Sambungan Soket Lapuk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn