Socket TCP Savoir si quelqu'un est connecté à l’autre bout

Socket TCP Savoir si quelqu'un est connecté à l’autre bout - Java - Programmation

Marsh Posté le 10-12-2008 à 16:51:31    

Bonjour
J’essaye de mettre en place une communication entre un client et un serveur qui soit robuste aux pannes. Le client et le serveur entretiennent une connexion permanente.  
Cependant, lorsque le client veut se déconnecter, lorsque le serveur doit être quitté ou que la communication est physiquement coupée (câble réseau débranché), j’aimerai que rien ne plante, et pouvoir effectuer un traitement pour fermer proprement la connexion, et supprimer les infos sur le client qui sont stockées sur le serveur.
J’aimerais faire le tout sans utiliser de message spécifique « quitter », et qu’une déconnexion normale se fasse autrement que par un catch.
On a le client A et le serveur B.
Comment peut-on fermer le socket de telle manière que l’hôte B, puisse détecter de manière propre la déconnexion de A ? Idem lorsque B se déconnecte.
Merci d’avance  :)  

Reply

Marsh Posté le 10-12-2008 à 16:51:31   

Reply

Marsh Posté le 10-12-2008 à 17:30:10    

manhitu a écrit :

J’aimerais faire le tout sans utiliser de message spécifique « quitter », et qu’une déconnexion normale se fasse autrement que par un catch.

ça me semble difficile de gérer une déconnexion du style cable débranché autrement qu'en catchant une exception...
Après tout les exception en Java sont aussi faites pour ça, ce n'est pas anormal de les catcher et faire des traitements "réguliers" en catchant une exception qui résulte d'un comportement "anormal".
Après ça peut être "chiant" à gérer parce que ce genre de truc peut apparaitre n'importe-où dans ton code, mais bon, si ton design est adapté à cette problématique, ya pas de raison que ça se passe mal :)


---------------
By bob.
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed