Pessoal,
Seguinte, tenho a classe abaixo que funciona como um servidor Socket
public class Servidor implements Runnable{
ServerSocket ss;
Tela tela;
public Servidor(int porta) throws Exception{
ss = new ServerSocket(porta);
new Thread(this).start();
//System.out.println("Servidor ouvindo na porta:" +porta);
tela.setLabel("Servidor ouvindo na porta:" +porta);
}
public void run() {
try{
while(true){
new TrataCliente(ss.accept()).start();
System.out.println("Mais um cliente conectado!");
}
}catch(Exception ex){
ex.printStackTrace();
System.exit(1);
}
}
public void finalizar(){
try {
ss.close();
System.out.println("Servidor Encerrado");
} catch (IOException ex) {
Logger.getLogger(Servidor.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
class TrataCliente extends Thread
{
private Socket client;
private String mensagem;
public TrataCliente(Socket s){
client = s;
}
public void run(){
try{
// aqui vai a sua comunicacao com o cliente
ObjectInputStream oi = new ObjectInputStream(client.getInputStream());
mensagem = (String) oi.readObject();
System.out.println(mensagem);
client.close();
}
catch(Exception e){
e.printStackTrace();
System.exit(1);
}
}
}
Estou com o seguinte problema:
Preciso enviar as mensagens que chegam dos clientes para uma outra classe (Tela), só que não estou conseguindo isso…
Abaixo é um exemplo do que eu gostaria de fazer
public Servidor(int porta) throws Exception{
ss = new ServerSocket(porta);
new Thread(this).start();
tela.setLabel("Servidor ouvindo na porta:" +porta);
}
Se utilizo o System.out.println funciona perfeitamente, mas escreve as mensagens no console.
Alguém tem alguma idéia???