/**
* Cria o socket de conexão com o servidor.
*/
private void criaSocket()
{
Thread threadConectar = new Thread(
new Runnable()
{
public void run()
{
try
{
addTextoLog( "Tentando conectar em " + enderecoServidor + ":" + numPorta + "." );
conexao = new Socket( InetAddress.getByName( enderecoServidor ), numPorta );
addTextoLog( "Conexão estabelecida." );
conectado = true;
}
catch ( IOException excecao )
{
addTextoLog( "Não foi possível conectar." );
conectado = false;
}
}
}
);
threadConectar.start();
}
/**
* Conecta ao servidor.
*/
private void conecta()
{
this.criaSocket();
if ( conectado )
{
menuItem[0][0].setEnabled( false );
menuItem[0][1].setEnabled( true );
menuItem[0][3].setEnabled( true );
clienteThread = new Thread( this, "Cliente" );
clienteThread.start();
}
}
/**
* Executado quando o thread do cliente inicia, quando há conexão com a internet.
*/
public void run()
{
try
{
while ( true )
{
this.recebeStreams();
this.processaConexao();
this.fechaConexao();
}
}
catch ( EOFException excecao )
{
this.addTextoLog( "Servidor foi encerrado." );
this.fechaConexao();
}
catch ( SocketException excecao ) {
excecao.printStackTrace();
}
catch ( IOException excecao ) {
this.addTextoLog( "Ocorreu um erro de I/O." );
}
}
O problema é que o clienteThread não é executado, chega-se no método start() dele e não acontece nada… O problema é que se eu tirar o threadConectar, funciona perfeitamente… Alguém poderia me ajudar?

