У меня есть два компонента, которые взаимодействуют через TCP / IP. Компонент A действует как сервер / слушатель, а компонент B является клиентом. Они должны общаться как можно быстрее. В любой момент времени может быть только одно соединение (хотя это не относится к этому вопросу). Старший разработчик в моей компании сказал, что мне нужно использовать тактовые импульсы на уровне приложений между двумя компонентами, чтобы соединение оставалось открытым.
Я думал, что соединение с TCP / IP остается открытым, но я читал несколько блогов / сайтов, в которых говорилось, что общение между этими приложениями является довольно стандартной практикой.
Я знаю, что одна из причин, по которой компонент В сердечных сокращений компонента В, заключается в том, что он может сообщить в службу поддержки, если есть проблемы со связью с компонентом В (либо связь не работает, либо компонент В не работает). Нужны ли сердцебиения по какой-либо другой причине? Например, чтобы убедиться, что в трубе часто что-то есть, чтобы держать ее открытой?
Компонент A в настоящее время пульсирует компонент B каждые 20 секунд и закрывает соединение, если ничего не получено от компонента B в течение 120 секунд. Затем он возобновляет прослушивание соединений в предположении, что компонент B будет периодически пытаться восстановить соединение, если связь разорвана. Это успешно работает.
Повторю мой вопрос: нужны ли пульсы для поддержания соединения TCP / IP?