J'ai deux composants qui communiquent via TCP / IP. Le composant A agit comme un serveur / écouteur et le composant B est le client. Les deux doivent communiquer le plus rapidement possible. Il ne peut y avoir qu'une seule connexion à la fois (bien que cela soit mis à part cette question). Un développeur senior de mon entreprise a déclaré que je devais utiliser des pulsations au niveau de l'application entre les deux composants pour garantir que la connexion reste ouverte.
Je pensais que la connexion restait ouverte avec TCP / IP, mais j'ai lu un certain nombre de blogs / sites disant que le battement de cœur entre ces applications est une pratique assez courante.
Je connais une partie de la raison pour laquelle le composant A bat le cœur du composant B afin qu'il puisse informer le support s'il y a des problèmes de communication avec le composant B (le lien est en panne ou le composant B ne fonctionne pas). Les battements de cœur sont-ils nécessaires pour une autre raison? De manière à s'assurer qu'il y a souvent quelque chose «dans le tuyau» pour le maintenir ouvert?
Le composant A bat actuellement le composant B toutes les 20 secondes et ferme la connexion si rien n'est reçu du composant B dans les 120 secondes. Il reprend ensuite l'écoute des connexions en supposant que le composant B essaiera périodiquement une reconnexion si la liaison est interrompue. Cela fonctionne avec succès.
Pour réitérer ma question: les pulsations sont-elles nécessaires pour maintenir une connexion TCP / IP active?