Pages: [1]   Go Down
Print
Author Topic: Problema esercizio Laboratorio  (Read 605 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
ct82
Matricola
*
Offline Offline

Posts: 34


« 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!
Logged
Pages: [1]   Go Up
Print
Jump to: