Galera estou utilizando Sockets na minha aplicação e ao transferir um objeto de um cliente para o servidor eu não obtenho mais resposta do mesmo e dpois de uns 20 segundos após enviado o objeto o servidor retorna um java.net.ConnectException: Connection timed out.
meu cliente esta escrito assim.
Socket s = null;
Socket aux = null;
PrintStream ps = null;
s = new Socket(ae.getIpServidor(), 7000);
OutputStream out = s.getOutputStream();
ObjectOutputStream os = new ObjectOutputStream(out);
os.writeObject(ae);// escreve o objeto a ser enviado
System.out.println("arquivo enviado ao servidor");
ServerSocket ss = new ServerSocket(7003);
aux = ss.accept();
ObjectInputStream is = new ObjectInputStream(aux.getInputStream());
RetornoServidorCliente retornoCliente = (RetornoServidorCliente) is.readObject();//objeto que o servidor deve retornar para o cliente
System.out.println("a resposta do servidor foi "+retornoCliente.isRetorno());
ss.close();
aux.close();
s.close();
return retornoCliente.isRetorno();
agora meu código do servidor
ServerSocket serv = null;
Socket s = null;
Socket aux = null;
serv = new ServerSocket(7000);
Excel e = new Excel();
System.out.println("aguardando arquivo do cliente");
s = serv.accept();
ponteServidorCliente = s;
ObjectInputStream is = new ObjectInputStream(s.getInputStream());
ArquivoEnvio chave = (ArquivoEnvio) is.readObject();
System.out.println("arquivo recebido");
if(chave==null){
System.out.println("arquivo nulo");
return;
}
e.exportarArquivo(chave,"Fortaleza");//aqui ele irá gerar um arquivo xls com o objeto passado pelo cliente
System.out.println("arquivo gerado em c:/");
aux = new Socket(chave.getIpCliente(), 7003);
ponteClienteServidor = aux;
OutputStream out = aux.getOutputStream();
ObjectOutputStream os = new ObjectOutputStream(out);
RetornoServidorCliente retornoCliente=null;
if(chave.getLista().isEmpty())
retornoCliente = new RetornoServidorCliente(false);
else
retornoCliente = new RetornoServidorCliente(true);
os.writeObject(retornoCliente);
System.out.println("resposta para cliente enviada");
serv.close();
s.close();
aux.close();
iai alguem pode me ajudar?