Quelle est la signification de l'erreur "réinitialisation de la connexion par l'homologue" sur une connexion TCP? S'agit-il d'une erreur fatale ou simplement d'une notification ou liée à la panne du réseau?
Quelle est la signification de l'erreur "réinitialisation de la connexion par l'homologue" sur une connexion TCP? S'agit-il d'une erreur fatale ou simplement d'une notification ou liée à la panne du réseau?
Réponses:
C'est fatal. Le serveur distant vous a envoyé un paquet RST, ce qui indique une interruption immédiate de la connexion, plutôt que la prise de contact habituelle. Cela contourne la transition d'état semi-fermée normale. J'aime cette description :
"Réinitialisation de la connexion par l'homologue" est l'équivalent TCP / IP du claquement du téléphone sur le crochet. C'est plus poli que simplement de ne pas répondre, laissant une pendaison. Mais ce n'est pas le FIN-ACK attendu du converseur TCP / IP vraiment poli.
Cela signifie qu'un TCP RST a été reçu et que la connexion est maintenant fermée. Cela se produit lorsqu'un paquet est envoyé à partir de votre extrémité de la connexion mais que l'autre extrémité ne reconnaît pas la connexion; il renverra un paquet avec le bit RST défini afin de fermer de force la connexion.
Cela peut se produire si l'autre côté se bloque puis revient ou s'il appelle close()
le socket alors qu'il y a des données de vous en transit, et cela vous indique que certaines des données que vous avez précédemment envoyées peuvent ne pas avoir été reçues.
C'est à vous de décider si c'est une erreur; si les informations que vous envoyiez étaient uniquement destinées au client distant, il peut ne pas être important que des données finales aient été perdues. Cependant, vous devez fermer le socket et libérer toutes les autres ressources associées à la connexion.