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 :

Lecture Buffered Reader


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut Lecture Buffered Reader
    Bonjour à tous, je viens de créer deux programmes client et serveur, le client envois une trame sous forme de tableau vers le serveur, le serveur afin de pouvoir lire la trame, il doit avoir sa longueur: la longueur du tableau envoyé. Ce que j'ai essayé de faire c'est de lire mon bufferedReader de reception, deux fois, sachant que dans la trame on peut récupérer la taille du tableau envoyé, pour ma première lecture je recupere la taille du tableau en lisant les premiers mots de la trames, donc apres j'ai la taille precise du tableau, mais la deuxieme fois j'ai essayé de lire le tableau avec la bonne taille, mais là ça ne marche pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    try {
     
                        DonneeRecue = new BufferedReader(new InputStreamReader(SocketClient.getInputStream()));
     
                        for (int e = 0; e < 12 ;e++){
     
                            Donnee[e] = DonneeRecue.read();
     
                        System.out.print(Donnee[e]+" ");}
     
                        int LongueurTableau = (Donnee[4]*100+Donnee[5] + 6);
     
                        System.out.println(LongueurTableau);
     
     
     
                        int[] TrameRecue = new int[LongueurTableau];
     
                        for (int e = 0; e < LongueurTableau ;e++){
     
                            TrameRecue[e] = DonneeRecue.read();
                            System.out.println(TrameRecue[e]);
     
                        }
    Voyez vous ou il est mon problème ? Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Ben ça ne marche pas ça veut dire quoi ??

    Au passage, respecter les conventions de nommage c'est bien !

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    j'arrive juste à recuperer la variable LonguerTableau, apres ça bloq, je crois que c'est la deuxieme lecture du buffer qui pose probleme, je ne sais pas si c'est possible de lire un buffer deux fois avec le .read().

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Par défaut
    tu transforme :
    DonneeRecue = new BufferedReader(new InputStreamReader(SocketClient.getInputStream()));

    en :

    InputStreamReader isr = InputStreamReader(SocketClient.getInputStream());
    DonneeRecue = new BufferedReader(isr);

    tu fait ton traitement ...

    et avant de réutiliser donneeRecue tu fait :
    DonneeRecue = new BufferedReader(isr);

    j'espere que ça marchera

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 30
    Par défaut
    Désolé j'ai essayé mais ça pose toujours le même problème, ça bloque en lisant la deuxième boucle,

  6. #6
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Par défaut
    Tu es certain du format de ce que tu reçois ?

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

Discussions similaires

  1. Buffered reader depassement
    Par mastersoiree dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 15h37
  2. [HLSL][C++] Lecture du Depth Buffer dans un PS3.0
    Par xterminhate dans le forum DirectX
    Réponses: 6
    Dernier message: 26/09/2006, 00h34
  3. méthode de lecture d'un fichier dans un buffer
    Par Mestoph dans le forum Composants VCL
    Réponses: 6
    Dernier message: 24/02/2006, 10h07
  4. [Débutant][Win32] : Lecture ds un fichier ac buffer
    Par silver_dragoon dans le forum Windows
    Réponses: 3
    Dernier message: 24/03/2004, 19h34
  5. [fread] Problème de lecture de buffer
    Par karl3i dans le forum C
    Réponses: 2
    Dernier message: 25/09/2003, 09h21

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