Score:0

กำหนดค่าการหมดเวลาที่ไม่ใช้งานในขณะที่จัดการโพรบ Keepalive

ธง pe

ฉันกำลังพัฒนาเซิร์ฟเวอร์ TCP echo โดยใช้ python และ socket library

ฉันต้องการกำหนดค่าการหมดเวลาสำหรับการเชื่อมต่อขาเข้าแต่ละครั้ง ดังนั้นให้วางและปิดหากไม่มีการใช้งานสำหรับ SOCK_TIMEOUT ค่า.

สิ่งนี้ทำได้ด้วยการตั้งค่าเฉพาะ: client_sock.settimeout (SOCK_TIMEOUT)

ในเวลาเดียวกันฉันต้องการรักษาการเชื่อมต่อที่ใช้วิธี Keepaliveดังนั้น หากเซิร์ฟเวอร์ได้รับแพ็กเก็ต Keepalive Probe จากไคลเอ็นต์ที่ระบุ ฉันต้องการหลีกเลี่ยงการใช้การหมดเวลาเพื่อปิดไคลเอ็นต์/การเชื่อมต่อเฉพาะนี้

ชี้แจงปัญหา>> ฉันต้องการให้เซิร์ฟเวอร์หยุดการเชื่อมต่อทุกครั้งหลังจากไม่มีการใช้งานเป็นเวลา 3 นาที สิ่งนี้สำเร็จได้ด้วย หมดเวลา (SOCK_TIMEOUT) การทำงาน. ปัญหาหลักคือการกำหนดค่าปัจจุบันและการนำซ็อกเก็ต TCP ไปใช้ไม่ได้ถือว่าโพรบ Keep-alive เป็น "กิจกรรม" ดังนั้น การเชื่อมต่อจึงถูกปิดแม้ว่าจะรับทราบโพรบแล้วก็ตาม

Q1 >> สิ่งนี้สมเหตุสมผลหรือไม่?

ฉันจะบอกว่าสิ่งนี้ควรจะเป็นไปได้ อย่างไรก็ตาม เซิร์ฟเวอร์ซ็อกเก็ตไม่สามารถจัดการโพรบ Keepalive ตามที่ฉันต้องการได้ เนื่องจากแม้ว่าเซิร์ฟเวอร์จะรับทราบ ACK จะถูกส่งกลับไปยังแต่ละโพรบ การเชื่อมต่อจะปิดเมื่อหมดเวลา

คำถามที่ 2 >> ฉันควรเปลี่ยนการใช้งานระยะหมดเวลาหรือไม่

A.B avatar
cl flag
A.B
Afaik, tcp keepalive มีความโปร่งใสต่อแอปพลิเคชัน เช่น: แอปพลิเคชันไม่สามารถรู้ได้ว่าสิ่งนี้เกิดขึ้น (แม้ว่าจะสามารถกำหนดการตั้งค่าให้เกิดขึ้นก็ตาม) ถ้ามันไม่รู้เรื่องนี่สิ งง ทำไมคุณต้องดูแลเกี่ยวกับเรื่องนี้? ดูเหมือนว่า [ปัญหา XY](https://xyproblem.info/): คุณต้องแก้ปัญหา แต่คุณไม่เคยบอกเราเกี่ยวกับปัญหานี้
rebatoma avatar
pe flag
ให้ฉันชี้แจงปัญหา ฉันต้องการให้เซิร์ฟเวอร์หยุดการเชื่อมต่อทุกครั้งหลังจากไม่มีการใช้งานเป็นเวลา 3 นาที ทำได้โดยใช้ฟังก์ชัน `settimeout(SOCK_TIMEOUT)` ปัญหาหลักคือการกำหนดค่าปัจจุบันและการนำซ็อกเก็ต TCP ไปใช้ไม่ได้ถือว่าโพรบ Keep-alive เป็น "กิจกรรม" ดังนั้น การเชื่อมต่อจึงถูกปิดแม้ว่าจะรับทราบโพรบแล้วก็ตาม

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา