ou comment detecter qd un client s'est deconnecté? [JAVA Socket] - Java - Programmation
Marsh Posté le 20-11-2004 à 15:04:15
Non, faut un mécanisme de Watchdog (ping / pong et estimer que le client s'est crashé s'il ne répond pas au ping dans un délai donné)
Marsh Posté le 20-11-2004 à 15:40:28
un system de watchdog?
va falloir que je me rensigne, merci.
il y a une classe deja faite?
c quoi le principe?
merci
Marsh Posté le 21-11-2004 à 16:08:09
Ton serveur envoie un message de type ping (le plus léger possible pour éviter une surcharge réseau). Tu configures ton client pour que, lorsq'il recoit un message de type ping, il renvoit un message de type pong au serveur (meme principe).
Le serveur fermera la connexion après X secondes si il n'a pas recu un message du client. Ca résoudra ton problème.
Marsh Posté le 22-11-2004 à 18:48:31
les timeout ça se fait tout seul en java nan ?
j'en ai fait yapa longtemps et j'y connais rien en réseau donc j'ai pas pu le sortir de mon chapeau (rouge)
Marsh Posté le 22-11-2004 à 19:26:43
pour le moment j'ai pas mon client. je teste avec telnet.
et j'aimerais dissocier le clients du server au max
mais je je peu envoyer un ping en java non?
Marsh Posté le 22-11-2004 à 20:06:08
et en utilisant Bind?
je chercher je cherche, mais je sais plus a quoi ça sert ^^ exactement
Marsh Posté le 23-11-2004 à 20:38:46
Jubijub a écrit : ben si g compris ce qu'à dit dark, ton ping faut plus voir ca comme un message convenu entre le server et le client, auquel le client sait qu'il doit répondre... |
c'est exactement ça
Marsh Posté le 20-11-2004 à 12:41:27
Bonjour.
j'ai creer un serveur multiclient.
Et j'aimerais savoir comment detecter qu'un client brutalement quitter la communication avec le serveur. (client planter, interruption de l'execution du client)
peut t'on voir ça au niveau du socket?
(j'ai essayer isConnected(), isBound(), toute methode renvoyant un booleen dans la classe socket ça n'a rien donne)
j'ai donc 2 solution, mais qui ne me safisfont pas.
la premiere c'est:
la deuxieme est de cacher tout les execptions au niveau du thread qui s'occupe de la communication avec le client.
mais niveau deboggage c plutot super moyen.
voila. donc si quelqu'un vait une piste ce serais vraiment bien.
merci d'avance