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 :

ObjectInputStream


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut ObjectInputStream
    Bonjour,
    j'ai un probleme : mon programme bloque lors de la création d'un ObjectInputStream :

    System.out.println("création de ois");

    this.ois = new ObjectInputStream(s.getInputStream());

    System.out.println("ois créé");

    >>s est un socket
    >>Aucune exception n'est lancée

    >>lors de l'éxécution, la console n'affiche que "création de ois"

    Savez vous pourquoi cela "bloque" et comment y remédier?

  2. #2
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Tu es certain qu'aucune exception est lancée ? car le code que tu nous présente n'est pas bloquant.
    Ta socket, elle est bien connectée avant de récupérer son flux ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut
    oui la socket est bien connectée (message de trace).

    et je pense que je teste bien toutes les erreurs (enfin je croi) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
      try{
                System.out.println("création de ois");
                this.ois = new ObjectInputStream(s.getInputStream());
                System.out.println("ois créé");
            }catch(IOException ioe){
                System.out.println("erreur io : " + ioe);
            }
            catch(Exception e){
                System.out.println("erreur : " + e);
            }

  4. #4
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Tu peux montrer ton code de création de la socket ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
                ServerSocket ss = new ServerSocket(NUM_PORT);
                System.out.println("Serveur en service sur le port " + NUM_PORT);
                while(true) 
                {
                    Socket s = ss.accept(); // BLOQUANT
                    ThreadGestionClientFile client = new ThreadGestionClientFile(s, stock);
                    client.start();
                }

  6. #6
    Membre Expert
    Profil pro
    Fabrication GED
    Inscrit en
    Octobre 2005
    Messages
    1 405
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Fabrication GED

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 405
    Par défaut
    Pour moi, le code que tu nous montres n'est pas bloquant ( hormis bien sur le accept de ServerSocket, mais là n'est pas le problème ), faudrait que nous en montre encore plus ( voir les deux classes carément ).
    Je soupsonne un problème de Thread.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 7
    Par défaut
    J'ai trouvé d'ou vien le probleme : j'ai crée l'ObjectOutputStream du client avec le code :
    new ObjectOutputStream(new BufferedOutputStream(s.getOutputStream()))

    au lieu de

    new ObjectOutputStream(s.getOutputStream))

    Désolé pour le déranjement ! et merci!

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

Discussions similaires

  1. [ObjectInputStream et getInputStream] Exception louche
    Par loman02 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 09/08/2007, 13h26
  2. Creation ObjectInputStream bloquante
    Par Invité dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 04/04/2007, 13h44
  3. ObjectInputStream : test d'arrêt EOF?
    Par ®om dans le forum Entrée/Sortie
    Réponses: 21
    Dernier message: 31/07/2006, 20h52
  4. Recuperation de ObjectInputStream bloquant
    Par maimba dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 09/06/2006, 10h02
  5. [ObjectInputStream]Pb avec GZIP et ByteArrayInputStream
    Par riloo dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 29/04/2004, 17h19

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