ServerSocket

Estou com um probleminha,

Eu criei uma classe que extend Thread e cria o ServerSocket

server = new ServerSocket(889,1);

Em outra classe eu instancio o class que cria o ServerSoket

Thread runBg = new runServer(); runBg.start();

Até ai está tudo Ok,ele cria o Socket e aguarda as conexoes, meu problema é que não sei como destruir o objeto server(ServerSocket) o qual é responsavél por criar o socket.
Eu gostária de distrui-lo para fechar todas as conexoes.

*PS destruir o ServerSocket não apenas fechar as conexoes abertas.

grato

para destruir qq objeto, faça ele receber null…


sever = null;

nota: as conexão devem ser fechadas antes!

tah estranho
eu fiz um JButton com a opcao liberar/fechar a porta para conexoes,

qndo eu abro, fecho e tendo reabrir ele dispara a IOException

//- Qndo clica para fechar
runServer d = new runServer();
d.closeConnection();
//-na classe runServer
public void closeConnection() 
	{
		try
		{
			connection.close();			
			server = null;
	
		}
		catch(IOException e)
		{
			System.out.println("Nao foi possivel fechar socket");
		}
	}

Oque será que está errado ?

Só atribuir null não faz com que a variável seja excluída, faz apenas que seja “marcada” para o GarbageCollector. Não significa que ela vá ser excluída neste momento…

Não vejo por que fazer uma thread para um server socket… Qual a finalidade da aplicação? O que eu acho interessante é fazer um programa principal que abre a porta que se quiser e um loop infinito para aguardar conexões. O programa pode ser finalizado utilizando Ctrl+C, o que encerra todas as conexões…

Att

O uso dah Thread é pelo sistema nao apenas aguardar conexoes, existe um GUI onde o usuário tem outras opcoes, por isso a Thread.
Meu objetivo é colocar m JButton com a opcao liberar porta / trancar porta, mas qndo libero e tranco novamente não consigo a liberar, pois o objeto ServerSocket não foi destruido.

Existe como eu expecificar ao GarbageCollector para remover da memoria o objeto ?

grato.