TCP / IP를 통해 통신하는 두 가지 구성 요소가 있습니다. 구성 요소 A는 서버 / 수신기 역할을하고 구성 요소 B는 클라이언트입니다. 두 사람은 가능한 한 빨리 통신해야합니다. 한 번에 하나의 연결 만있을 수 있습니다 (이 질문은 제외). 우리 회사의 한 선임 개발자는 연결이 열린 상태를 유지하기 위해 두 구성 요소간에 응용 프로그램 수준 하트 비트를 사용해야한다고 말했습니다.
TCP / IP로 연결이 열려 있다고 생각했지만 여러 블로그 / 사이트에서 이러한 응용 프로그램 간의 심장 박동에 대한 표준 관행을 읽었습니다.
구성 요소 A가 구성 요소 B를 하트 비트하는 이유의 일부를 알고 있으므로 구성 요소 B와의 통신 문제 (링크가 다운되었거나 구성 요소 B가 실행 중이 아님)가있는 경우 지원팀에 알릴 수 있습니다. 다른 이유로 하트 비트가 필요합니까? "파이프에"뭔가가 자주 열려 있는지 확인하는 것과 같이?
구성 요소 A는 현재 구성 요소 B를 20 초마다 하트 비트하고 120 초 동안 구성 요소 B에서 아무것도 수신하지 않으면 연결을 닫습니다. 그런 다음 링크가 끊어지면 구성 요소 B가 주기적으로 재 연결을 시도한다는 가정하에 연결 수신을 재개합니다. 이것은 성공적으로 작동합니다.
내 질문을 반복하려면 : TCP / IP 연결을 유지하려면 하트 비트가 필요합니까?