IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Entrée/Sortie Java Discussion :

Detection deconnexion client


Sujet :

Entrée/Sortie Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 49
    Points
    49
    Par défaut Detection deconnexion client
    Bonjour, je suis en train de développez une appli client/serveur toute simple pour m'entrainer. J'ai déjà un serveur réalisé en Qt/C++ qui marche très bien avec mon client Java :

    Connexion et déconnexion du client : OK
    Envoi de message texte : OK

    Mon serveur a une option permettant de déconnecter le client connecté en utilisant l'IP du client. Avec un client Qt/C++ je peux détecter la déconnexion depuis le serveur avec un signal : deconnected()
    Existe-t-il un mécanisme similaire en Java ?, car mon client Java croit qu'il est toujours connecté alors que coté serveur je l'ai pourtant dégagé.

    J'ai vu que plusieurs personnes sur d'autres forum avaient le même probleme mais les solutions ne sont jamais vraiment très claires.

    Quelqu'un a-t-il une idée ?

    Merci d'avance.

  2. #2
    Membre actif Avatar de Torg666
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    230
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2008
    Messages : 230
    Points : 254
    Points
    254
    Par défaut
    En fait, en supposant que tu utilise un serveur de socket, la deconnection se fait lorsque le flux de données est interrompu.
    Lorsque le client se deconnecte, le flux est interrompu après a toi de gerer la suite des evenements (notament s'assurer que le socket client est bien fermé).
    On lit, en général, le flux dans un boucle et la lecture de ce flux renvoi un code spécifique qd il est interrompu (comme par exemple un read sur un BufferedInputStream renvoi -1).
    Pour faire du "multiClient" il faut bien entendu savoir se servir de thread pour ecouter les socket de chaque client.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 41
    Points : 49
    Points
    49
    Par défaut
    Merci pour l'info.

    Pour le serveur multiClient c'est ok avec les threads.

    Mon soucis c'était de pouvoir détecter coté client une déconnexion faite par le serveur. Qt intègre des signaux qui facilite cette détecttion sans avoir à lire le flus de données mais pas Java apparement.

    Je vais voir ça.

    A plus !

Discussions similaires

  1. Detecter si client est en local ou a distance
    Par mikael2235 dans le forum Langage
    Réponses: 8
    Dernier message: 01/05/2017, 16h06
  2. Detection deconnexion UART
    Par olibara dans le forum C#
    Réponses: 0
    Dernier message: 23/08/2011, 08h19
  3. Detection connection client TCP ?
    Par jbarreau-mainson dans le forum Réseau
    Réponses: 3
    Dernier message: 03/04/2009, 14h40
  4. Detection deconnexion client
    Par Voldo dans le forum Réseau
    Réponses: 2
    Dernier message: 23/03/2009, 13h51
  5. Socket php et deconnexion client.
    Par greg0037 dans le forum Langage
    Réponses: 1
    Dernier message: 29/04/2008, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo