Come posso fare a rendere l' host sempre pronto a ricevere risposte dal server e a inviarne utilizzando il seguente codice che funge ma riesce a leggere solo la prima stringa ed inviarne sempre e soltanto una?


codice:
import java.net.*;
import java.io.*;

public class host{

   public static void main(String args[]){

   try{

    Socket sock = new Socket("www.unipa.it",80);

    // Buffer di ricezione dal server
    
    InputStream is = sock.getInputStream();
    InputStreamReader isr_uno = new InputStreamReader(is);
    BufferedReader bf_uno = new BufferedReader(isr_uno);

    // Buffer di input da tastiera

    BufferedReader bf_due = new BufferedReader(new InputStreamReader(System.in));

    // Buffer di invio al server 

    OutputStream output = sock.getOutputStream();
    OutputStreamWriter osw = new OutputStreamWriter(output);
    BufferedWriter bw = new BufferedWriter(osw);

    // Leggo input da tastiera e lo stampo a video

    String stringa = bf_due.readLine();
    System.out.println("Command: " + stringa);

    //invio del buffer di input da tastiera verso il server

    bw.write(stringa,0,stringa.length());
    bw.newLine();
    bw.flush();

    //Ricezione risposta server
   
    String risp = bf_uno.readLine();
    System.out.println(risp);
    sock.close();  
    }
    catch(UnknownHostException e){
          System.out.println("Host non trovato");
    }
    catch(Exception e){
          System.out.println("Connessione Fallita");
    }
  }
}

Grazie Ciao