E ae galera !!! faz um tempinho q eu nam posto no portal java!
na verdade fazia um tempinho q eu naum programava java … enfim … to com um problema aki , to precisando da ajuda de vcs …
Olha só …
Tenhu um server , q se comunica via socket , e ele tem q aceitar varias conexões simultaneas. Intaum eu fiz o seguinte :
public void OpenConnection(int port){
try {
server = new ServerSocket(port);
System.out.println("\nSocket inicializado, porta 3500 aberta");
} catch (IOException e) {
System.out.println("Não consigo abrir a porta 3500");
System.exit(-1);
}
while (true) {
// SocketClientWorker w;
try {
w = new SocketClientWorker(server.accept(),this);
t = new Thread(w);
sBuffer.addClient(w);
t.start();
t.setName("ClientWorker");
} catch (IOException e) {
System.out.println("Erro de conexão");
System.exit(-1);
}
}
}
Bom , até ae tudo bem , essa classe ScoketClientWorket eh runnable , nela eu tenho o método run pra receber os dados enviados pelo client.
sBuffer.addClient(w);
Aki eu coloco num buffer , os clientes conectados , para ter o controle sobre eles tipo , desconexão , enviar dados etc …
Só q acontece o seguinte , quando eu desconecto um cliente qualquer e destruo o objeto , a Thread ainda fica funcionando … naum estou conseguindo destruir ela , pq eu naum tenho nenhuma referencia a ela.
Sera q eu to fazendo alguma coisa errada …
Se alguem puder me dar uma força … valeu ae !!!