Socket & wifi

alex_07 Messages postés 11 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 31 octobre 2007 - 15 juil. 2007 à 20:10
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 - 17 juil. 2007 à 11:05
Bonjour,

Je viens de réaliser une appli avec un serveur et un client en java.

Tout marche parfaitement sauf un truc....

Petit explication : mon serveur attend des connexions venant de clients
sous forme d'applet. La connexion se fait des que l'applet est lancé et
la déconnexion se fait soit par demande de l'applet ou quand l'applet
se termine (en récuperant une exception coté serveur).

Tout ces points fonctionne parfaitement par contre, et c'est là que
j'ai mon soucis, lorsque le client se connecte en wifi et qu'il y a une
coupure du wifi, aucune excption sur le serveur n'est déclenché, le
serveur considère que ma socket est toujours active.

Quelqu'un sait comment savoir si un client est toujours présent.


Merci pour vos réponse

3 réponses

cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
17 juil. 2007 à 09:29
Et bien tu dois pouvoir utliser un timeout ...
Mais ton cas me surprend qd meme !!! les socket ne deraient pas faire la diference!!?

GodConan ;o)
0
alex_07 Messages postés 11 Date d'inscription mercredi 19 janvier 2005 Statut Membre Dernière intervention 31 octobre 2007
17 juil. 2007 à 09:38
bonjour,
Le probleme viens surgit quand il y a une coupure phisique du réseau... Ma socket existe encore et elle est considéré comme conectée.
voila un bou de mon code coté serveur :

public void run(){
        try
        {
            while (true)
            {
               //Là je fais ce que je dois faire et j'attends la deco de l'applet
                ...

                // si je recoit deco j'appel la fonction deconnecte()
                if(deco)
                   deconnecte()
             }
        }
       // si l'applet se termine anormalement je recupere une exception et appelle la fonction deconnecte()
        catch(Exception e)
        {
            System.out.println("Communication : -------------- Rupture de la communication --------------"+e) ;
             deconnecte()
        }
    }
0
cs_GodConan Messages postés 2113 Date d'inscription samedi 8 novembre 2003 Statut Contributeur Dernière intervention 6 octobre 2012 12
17 juil. 2007 à 11:05
socket.setSoTimeout( timeout )

tu peux essayer avec ca....  !!








GodConan ;o)
0
Rejoignez-nous