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 :

Socket, OutputStream et InputStream bloquent


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Socket, OutputStream et InputStream bloquent
    Bonsoir,

    Cela fait quelques jours que je "galère" sur ça :

    J'arrive à envoyer des informations du client vers le serveur, OU du serveur vers le client en utilisant des OutputStream et InputStream d'un socket.

    Je dis bien "OU" car dès que j'essaie de faire les deux à la suite, ça plante, comme le code ci-dessous..
    J'ai les programmes (Client et Serveur) qui bloquent tous les deux, ils attendent on dirait... Ca bloque au moment où on prend le flux dans l'autre sens.

    Par contre, si je fais uniquement un envoi de données dans un sens ça fonctionne.

    Comment expliquez-vous cela svp ?

    Merci beaucoup!

    Côté Serveur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream());
    ObjectOutputStream oos = new ObjectOutputStream(out);
     
    BufferedInputStream in = new BufferedInputStream(socket.getInputStream());
    ObjectInputStream ois = new ObjectInputStream(in);
     
    // On récupère le nom du fichier
    String nomFichier = (String) ois.readObject();
     
    // On envoie "ok" au client
    oos.writeObject("ok");
    Côté Client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    BufferedOutputStream out = new BufferedOutputStream(socket.getOutputStream());
    ObjectOutputStream oos = new ObjectOutputStream(out);
     
    BufferedInputStream in = new BufferedInputStream(socket.getInputStream());
    ObjectInputStream ois = new ObjectInputStream(in);
     
    // On envoie le nom du fichier
    oos.writeObject("nom du fichier");
     
    // On recoit "ok"
    String s = (String) ois.readObject();

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Bonsoir,

    Avez vous essayé de faire un flush sur la socket après l’écriture des données ? Ça force l'envoie des données.

  3. #3
    Membre à l'essai
    Inscrit en
    Novembre 2010
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 28
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par atha2 Voir le message
    Bonsoir,

    Avez vous essayé de faire un flush sur la socket après l’écriture des données ? Ça force l'envoie des données.
    Bonsoir !!!!!!!

    Merciiiiii c'était bien ça !!

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

Discussions similaires

  1. [FAQ] Socket getIn/OutputStream
    Par Haknaton dans le forum Entrée/Sortie
    Réponses: 0
    Dernier message: 05/12/2009, 20h00
  2. convertir un OutputStream en InputStream
    Par Phobos dans le forum Java ME
    Réponses: 4
    Dernier message: 07/08/2006, 14h37
  3. [Stream] OutputStream -> InputStream
    Par anykeyh dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 22/11/2005, 23h20
  4. [Stream] Transformer un OutputStream en InputStream
    Par kevredon dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 18/06/2005, 13h20
  5. Transformer un OutputStream en un InputStream
    Par glRaZ dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 29/04/2004, 12h10

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