Duvida com Socket Server

olá pessoal,

estou tendo o seguinte problema, após invocar um servidor como thread eu não consigo fechar o socket desse Thread servidor, eu chama o método close a partir de minha classe principal, e ele simplesmente diz socket error e nenhuma menssagem a mais. alguém tem idéia do que seja?

Se e entendi bem vc implementa o socket no método run(){} ? se vc mandar um thread.stop(); ?

sim, no método run, implementando a interface runnable na classe que representa o server.

se usar o método stop ele levanta uma exceção ou erro, relacionada a manuseio inadequado ou indevido.

hum… seu try está desse jeito :
estranho uso inadequado ou indevido

try
{
//
}
catch (SocketException ex)
{
ex.getMessage();
}
catch (IOException ex)
{
ex.getMessage();
}

Abaixo tem o trecho do código que esta no método run proveniente da interface runnable:

ok = true;
				while (ok) {
					socket.receive(packet);
					// retorna verdadeiro se conter alguma informação relevante
					ok = this.analisa(new String(packet.getData()));
				}

				// extrai os dados do pacote
				core.c = new String(packet.getData());

				core.c = core.c.trim();
				
			

				
				
			} catch (SocketException e) {
				JOptionPane.showMessageDialog(null, "
						+ e.getMessage());

			}[/code]


mas antes disso tudo o método que ativa a thread é chamado por um evento em um button:

[code]SwingUtilities.invokeLater(new Runnable() {
	 					
								public void run()
 					        {
	 						     core.iniciaCaptura();
	 					         }
	 				         }); 

que por sua vez esse objeto core em seu método iniciacaptura faz somente isso:

[code]
public void iniciaCaptura() {
if(server==null)
this.server =new DataGramServer(this); //o propio construtor inicia a thread

}[/code]

lembrando que a classe Datagramserver implementa a interface Runnable.