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