Boa tarde pessoal,
Estou desenvolvendo um Chat e estou encontrando algumas dificuldades.
Bom, o problema é o seguinte:
Eu consegui fazer um chat onde é possível a comunicação entre dois usuarios, isso eu fiz da forma básica usando Scanner.
Agora eu estou incrementando e para isso estou desenhando uma interface gráfica.
Eu criei um botão que chama o método que se comunica com o servidor. O problema é que, quando eu “aperto” o botão, ele me informa que o cliente se conectou com o servidor, porém o meu JFrame trava.
Vou colocar uma parte do meu código para que vocês possam me auxiliar.
//Parte da classe Cliente
public Cliente(String host, int porta) {
this.host = host;
this.porta = porta;
}
public void executa() throws UnknownHostException, IOException {
Socket cliente = new Socket(this.host, this.porta);
System.out.println("O cliente se conectou ao servidor");
//Recebe a msg do servidor
Recebedor r = new Recebedor(cliente.getInputStream());
new Thread(r).start();
//Le msgs do teclado e manda pro server
Scanner teclado = new Scanner(System.in);
PrintStream saida = new PrintStream(cliente.getOutputStream());
while (teclado.hasNextLine()) {
saida.println(teclado.nextLine());
}
saida.close();
teclado.close();
cliente.close();
}
//Parte do meu JFrame
Servi servi = new Servi();
btnChamarServidor.addKeyListener(servi);
public class Servi implements KeyListener{//Responsável por chamar meu método
Cliente cliente = new Cliente();
public void keyPressed(KeyEvent evt) {
if(evt.getKeyCode() == KeyEvent.VK_ENTER){
try {
new Cliente("192.168.123.48",9900).executa();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Alguém poderia me dar uma ajuda?
Valew!!!
