Olá pessoal do portal!
Estou trabalhando com arquivos, fazendo download e upload via socket.
Testei o meu upload e funcionou normal, mas o problema é que ele substitui um arquivo caso tenha o mesmo nome.
Então tentei fazer o seguinte: caso haja um arquivo com o mesmo nome no servidor, volta-se o objeto, com a informação de que o arquivo ja existe, dai pergunta para o usuário se deseja substituir ou nao o arquivo.
Para fazer isso, tentei usar:
s = new Socket("127.0.0.1", portaServidor);
entrada = new ObjectInputStream(s.getInputStream());
entradaSubstituir = new ObjectInputStream(s.getInputStream());
e
saida.writeObject(arquivo);
arquivo = (ArquivoVO)entrada.readObject();
Tanto para mandar pelo método fazerUpload() quanto no método substituir().
Substituir é chamado caso o usuário escolha “substituir”.
Não deu certo, pois acusava-se uma exception quando eu tentava usar o mesmo ObjectInputStream e ObjectOutputStream.
Então tentei fazer o seguinte:
s = new Socket("127.0.0.1", portaServidor);
entrada = new ObjectInputStream(s.getInputStream());
entradaSubstituir = new ObjectInputStream(s.getInputStream());
saida = new ObjectOutputStream(s.getOutputStream());
saidaSubstituir = new ObjectOutputStream(s.getOutputStream());
Mas não funciona… dessa vez não dá nenhuma exception, mas o programa simplesmente fica completamente parado na terceira linha acima,
entradaSubstituir = new ObjectInputStream(s.getInputStream());
Como eu posso resolver esse problema??? Eu pensei em criar um segundo socket inclusive, mas não poderia pois a porta já estaria sendo usada, certo?
Alguem me ajude!!!
Grato!!
Roni Lenhardt