Forum Informatica Unict

Vecchi ordinamenti ad esaurimento => Sistemi Distribuiti 1 => Topic started by: ct82 on 01-05-2011, 10:14:44



Title: Problema esercizio Laboratorio
Post by: ct82 on 01-05-2011, 10:14:44
Salve, per risolvere un esame di laboratorio ho scritto il seguente codice client:

                socket = new Socket("192.168.1.3", 8000);

           System.out.println("EchoClient: started");

           System.out.println("Client Socket: "+ socket);



           // creazione stream di input da socket

           InputStreamReader isr = new InputStreamReader( socket.getInputStream() );

           in = new BufferedReader(isr);



           // creazione stream di output su socket

           OutputStreamWriter osw = new OutputStreamWriter( socket.getOutputStream() );

           BufferedWriter bw = new BufferedWriter(osw);

           out = new PrintWriter(bw, true);



         System.out.println("Invio stringa: GET /gp/prova/11.html");

              out.println("GET /gp/prova/11.html");       // invio il messaggio al server

           

              String x ="";

                 String s ="";

                 boolean trovato = false;   

      

           while ((x=in.readLine()) != null)

           {   



                 if(x.contains("[")) trovato = true;

                    

                 if(trovato) s += x;

                 

                 if(x.contains("]"))

                 {

                 trovato = false;

         break;

                 }

         

           }

      

            int inizio = s.indexOf("[");

              int fine = s.indexOf("]");

              

              s = s.substring(inizio, fine+1);



              out.println(s);



   

      String risposta = "";



      while ((x=in.readLine())!=null)

           {   

         risposta += x;

      }

      System.out.println("risposta del server : "+risposta);

   

Il mio problema sta ne fatto che il secondo while, che dovrebbe stampare il secondo stream proveniente dal server, stampa anche i byte rimasti nel buffer che non sono stati  letti nel primo while che temina con il break.
Qualcuno mi sa suggerire un modo per stampare solo il byte relativi alla seconda risposta del server???
Vi ringrazio anticipatamente ciaooo!