Pessoal…
É o seguinte, estou desenvolvendo um chat e gostaria de uma ajuda…
Eu consegui fazer a comunicação entre os usuários, porém usando um simples SCANNER…
Eu gostaria de fazer o seguinte:
- O usuário que envia a mensagem envia através de um textField
- O usuário que recebe, recebe através de um TextArea…
Estou utilizando, como base, a apostila da Caelum.
Creio que tenho que alterar tanto no servidor quanto no cliente (Me corrijam se eu estiver errada).
No servidor tenho o seguinte método
public void distribuiMensagem(String msg){
for(PrintStream cliente: this.clientes){
cliente.println(msg);
}
}
//Aqui é a thread responsável por deixar mais de um cliente se conectar
public void run() {
Scanner s = new Scanner(this.cliente);
while(s.hasNextLine()){
servidor.distribuiMensagem(s.nextLine());
}
s.close();
}
NO cliente tenho o seguinte código
Scanner teclado = new Scanner(System.in);
PrintStream saida = new PrintStream(cliente.getOutputStream());
while (teclado.hasNextLine()) {
saida.println(teclado.nextLine());
}
Eu tentei, no lugar do teclado passar um textField… mas ele entra em Loop e trava…
Alguém poderia me dar um help?
Obrigada!