ฉันมีส่วนประกอบสองอย่างที่สื่อสารผ่าน TCP / IP ส่วนประกอบ A ทำหน้าที่เป็นเซิร์ฟเวอร์ / ผู้ฟังและส่วนประกอบ B คือไคลเอนต์ ทั้งสองควรสื่อสารกันโดยเร็วที่สุด สามารถมีการเชื่อมต่อเพียงครั้งเดียวได้ตลอดเวลา (แม้ว่าจะอยู่นอกเหนือคำถามนี้ก็ตาม) นักพัฒนาอาวุโสใน บริษัท ของฉันกล่าวว่าฉันจำเป็นต้องใช้การเต้นของหัวใจระดับแอปพลิเคชันระหว่างองค์ประกอบทั้งสองเพื่อให้แน่ใจว่าการเชื่อมต่อยังคงเปิดอยู่
ฉันคิดว่าการเชื่อมต่อยังคงเปิดอยู่ด้วย TCP / IP แต่ฉันได้อ่านบล็อก / ไซต์หลายแห่งบอกว่าการปฏิบัติตามมาตรฐานการเต้นของหัวใจระหว่างแอปพลิเคชันเหล่านี้ค่อนข้างเป็นมาตรฐาน
ฉันรู้ว่าส่วนหนึ่งขององค์ประกอบเหตุผลส่วนประกอบของการเต้นของหัวใจ B จึงสามารถแจ้งฝ่ายสนับสนุนได้หากมีปัญหาในการสื่อสารกับส่วนประกอบ B (ลิงก์ไม่ทำงานหรือส่วนประกอบ B ไม่ทำงาน) การเต้นของหัวใจจำเป็นด้วยเหตุผลอื่นหรือไม่? เช่นเพื่อให้แน่ใจว่ามีบางสิ่งบางอย่าง "อยู่ในท่อ" เพื่อให้มันเปิดอยู่บ่อยๆ?
ส่วนประกอบ A ขณะนี้ heartbeats ส่วนประกอบ B ทุกๆ 20 วินาทีและปิดการเชื่อมต่อหากไม่มีสิ่งใดได้รับกลับมาจากส่วนประกอบ B ใน 120 วินาที จากนั้นจะกลับมาฟังการเชื่อมต่ออีกครั้งภายใต้สมมติฐานว่าส่วนประกอบ B จะพยายามเชื่อมต่อใหม่เป็นระยะหากลิงก์เสีย ทำงานได้สำเร็จ
เพื่อย้ำคำถามของฉัน: การเต้นของหัวใจจำเป็นต่อการเชื่อมต่อ TCP / IP หรือไม่