Ciao a tutti.. sto cercando di realizzare una semplice chat in java.. Nulla di trascendentale: due computer collegati con un socket.. Uno dei due fa il server e l'altro il client.. Io scrivo te ricevi, te scrivi io ricevo.. proprio semplicissimo.. Non riesco a fare una cosa..
Ho settato giusto il socket.. Gli stream di input e output funzionano.. Unica cosa: se scrivo non viene visualizzato (sul mio schermo) ciò che sto digitando, me lo fa vedere una volta che digito invio per mandare il messaggio.. questo perchè ho usato un bufferedreader.... Il codice inciminato è qui:
codice:
out = new PrintWriter(server.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(server.getInputStream()));
BufferedReader standardIn = new BufferedReader(new inputStreamReader(System.in));
label1: while (conversation) {
if (in.ready()) {
received = in.readLine();
if (received.equalsIgnoreCase("Quit"))
conversation = false;
else System.out.println("Client: "+received);
}
if (standardIn.ready())
{ sent = standardIn.readLine();
if (sent.equalsIgnoreCase("Quit"))
{
System.out.println("Are you sure to quit? y/n");
String decision = Sin.nextLine();
if (decision.equalsIgnoreCase("Y"))
conversation = false;
else continue label1;
}
out.println(sent);
} continue label1;
lo so l'utilizzo dei label non è un granchè ma mi era venuto in mente di far così..
qualcuno ha dei suggerimenti su come fare? grazie