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 :

reperer deconnexion lors d'une copie de fichier via socket tcp


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 192
    Points : 107
    Points
    107
    Par défaut reperer deconnexion lors d'une copie de fichier via socket tcp
    Bonjour,

    je sais que ce genre de question a déjà été posée mais les réponses trouvées ne correspondent pas trop à mes attentes..

    j'ai une application qui fait de la copie de fichier via une socket d'un serveur jusqu'à un client, et je dois faire en sorte d'éviter toute erreur possible..

    Un des aspect qui me pose problème : je lance une copie de fichier, pendant la copie, je simule une erreur sur le réseau :
    - câble débranché coté client
    - câble débranché coté serveur
    - arrêt brutal du serveur
    - arrêt brutal du client

    dans le cas ou j'arrête le client, le serveur remarque l'exception precisant que le relais est brisé (erreur IO)

    dans le cas ou j'arrête le serveur, je ne peux pas le voir du coté client, puisque la fonction read() est bloquante.

    Dans le cas où je débranche un câble alors la c'est magnifique, ma barre de progression se met en pause (puisque read() ne reçoit plus de données) et aucune exception n'est levée. Le truc c'est que même après 5 minutes, rien n'est levé, et je peux même pousser le vice, puisque si je rebranche mon câble, tout repart comme avant, la copie...

    Comment faire pour remarquer la deconnexion ? parce qu'il ne s'agit pas d'un socket.close()...

    la fonction socket.isConnected() renvoie true dans tous les cas, et ça ne m'arrange pas de faire un ping récurrent pendant ma copie...

    Comment puis-je faire ? Y a t'il un moyen de mettre une sorte de timeout sur le read() pour lui dire qu'au bout de 2secondes où il ne reçoit plus rien, il faut couper ? ...

    Merci de vos réponses !

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Février 2011
    Messages : 192
    Points : 107
    Points
    107
    Par défaut
    socket.setSoTimeout(2000)

    merci à moi même !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. action play/pause pour une copie de fichiers via socket
    Par dumoulex dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 13/05/2011, 14h05
  2. Crash lors d'une copie de fichiers
    Par Ernesto_X dans le forum VMware
    Réponses: 0
    Dernier message: 07/09/2010, 17h27
  3. Echec d'indexation lors d'une copy de fichier
    Par damene dans le forum Débuter
    Réponses: 0
    Dernier message: 05/09/2010, 17h28
  4. Figer la source d'une liaison lors d'une copie de fichier
    Par frolland46 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/10/2008, 20h50
  5. Forte charge du système lors d'une copie de fichiers
    Par calfater dans le forum Administration système
    Réponses: 5
    Dernier message: 08/01/2007, 17h52

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