Rumah  >  Artikel  >  Java  >  Berikut ialah beberapa tajuk artikel berasaskan soalan yang menangkap intipati kandungan anda: **Fokus pada Perkara Utama:** * **Adakah Sambungan Soket TCP Berkekalan Selamanya? Meneroka Tamat Masa Keep-Alive** *

Berikut ialah beberapa tajuk artikel berasaskan soalan yang menangkap intipati kandungan anda: **Fokus pada Perkara Utama:** * **Adakah Sambungan Soket TCP Berkekalan Selamanya? Meneroka Tamat Masa Keep-Alive** *

Susan Sarandon
Susan Sarandonasal
2024-10-26 00:20:28616semak imbas

Here are a few question-based article titles that capture the essence of your content:

**Focusing on the Main Point:**

* **Do TCP Socket Connections Last Forever? Exploring Keep-Alive Timeouts** 
* **How Long Do TCP Socket Connections Stay Open? Decodin

Sambungan Soket TCP dan Keep-Alive

Konsep TCP Keep-Alive sering dikaitkan dengan HTTP, tetapi ia juga digunakan pada standard Sambungan soket TCP. Tidak seperti HTTP Keep-Alive, yang membenarkan sambungan berterusan untuk berbilang permintaan, TCP Keep-Alive menyediakan tujuan yang berbeza.

Adakah Sambungan Soket TCP Secara Automatik Kekal Terbuka Selamanya?

Tidak, sambungan soket TCP tidak kekal terbuka secara automatik selama-lamanya. Terdapat mekanisme yang dipanggil TCP Keep-Alive yang menguatkuasakan tamat masa.

Proses TCP Keep-Alive

TCP Keep-Alive beroperasi pada tiga parameter boleh dikonfigurasikan:

  • tcp_keepalive_time: Lalai 7200 saat (2 jam)
  • tcp_keepalive_probes: Lalai 9
  • _> Lalai 75 saat
  • Jika tiada aktiviti pada sambungan TCP untuk
tcp_keepalive_time

yang ditentukan, sistem akan menghantar paket Keep-Alive (ACK kosong). Jika pelayan bertindak balas dengan ACK, proses diset semula. Jika tiada respons diterima selepas bilangan tcp_keepalive_probes yang ditentukan (dengan selang tcp_keepalive_intvl antara probe), sambungan ditamatkan dengan RST.

Gotchas

    Lalai 2 Jam:
  • Tamat masa 2 jam lalai boleh menyebabkan sambungan lapuk berlarutan untuk tempoh yang lama.
  • Kekalkan- Alive adalah Pilihan:
  • Menurut RFC 1122, membalas atau menyampaikan paket TCP Keep-Alive adalah pilihan untuk sistem. Ini bermakna pelayan mungkin tidak sentiasa mematuhi tetapan tamat masa. Walau bagaimanapun, dalam praktiknya, paket Keep-Alive biasanya dihantar.
Menukar Tamat Masa TCP

Tetapan tamat masa TCP boleh diubah suai pada peringkat sistem pengendalian. Walau bagaimanapun, ini akan menjejaskan semua sambungan TCP pada sistem.

Linux

Gunakan arahan berikut untuk menukar tetapan untuk semua sambungan:

tcp_keepalive_time: sysctl -w net.ipv4.tcp_keepalive_time=180
  • tcp_keepalive_probes: sysctl -w net.ipv4.tcp_keepalive_probes=3
  • Mac OS X

Gunakan sysctl untuk melihat dan mengubah suai tetapan:

sysctl net.inet.tcp | grep -E "keepidle|keepintvl|keepcnt"

sysctl -w net.inet.tcp.keepidle=180000 net.inet.tcp.keepcnt=3 net.inet.tcp.keepintvl=10000
  • Windows
  • Tetapan TCP Keep-Alive boleh didapati dalam pendaftaran:
  • HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTCPIPParameters

Atas ialah kandungan terperinci Berikut ialah beberapa tajuk artikel berasaskan soalan yang menangkap intipati kandungan anda: **Fokus pada Perkara Utama:** * **Adakah Sambungan Soket TCP Berkekalan Selamanya? Meneroka Tamat Masa Keep-Alive** *. 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