Envoyé par
leyee
Juste une petite question : dans quel cas ton test sur le ctrl-c ne marche pas ?
Personnellement, dans mon client j'ai rajouter
Runtime.getRuntime ().addShutdownHook(new GestionDeconnexion(this));
où GestionConnexion est une classe héritant de Thread. Je lui passe mon client pour qu'il puisse lancée la méthode permettant de contacter le serveur pour annoncer son depart.
Il me semble qu'un kill brutal de la JVM peut ne pas lancer le ShutdownHook justement, en tout cas en cas de plantage de la JVM par exemple, je suppose qu'il n'est pas executé !
Je n'ai jamais compté sur les mecanismes de shutdown, car c'est un peu aléatoire à mon gout, je préfère me fier à une méthode plus sûre et conservative
En ce qui concerne l'engorgement réseau, je ne pense pas que ce soit monstrueux, quelques octets ne vont pas encombrer tes cables même modem 56K !
Et remarque par rapport à l'exception levée lors des deconnections : ce n'est pas tant une exception lors de la deconnection, mais une exception de timeout dans l'envoi de données : ce n'est pas la même chose ! Supposons que le serveur n'envoie aucune donnée, et que le client non plus : aucune exception ne sera levée, et la connection sera "maintenue" coté serveur, bien que le client est partie il y a belle lurette suite à une panne EDF dans son immeuble
Partager