Como lidar com Socket Timetout (Evitar conexões que já cairam)?

2 respostas
N

Boa tarde galera, estou com um grande problema:
Estou fazendo um software que realiza a transferência de arquivos, porém, se durante ela eu desligar minha placa de rede, o “servidor” continua identificando que o cliente está baixando o arquivo. Gostaria de saber se tem alguma coisa no Java que identifica por exemplo se há conexão entre cliente servidor/servidor cliente está ligada, pois se eu desligo a placa de rede o servidor continua achando que o cliente está conectado e o cliente também

PS: Não posso elaborar um tempo de SO Timeout, pois o servidor aguarda comandos do cliente (Não é somente uma conexão para baixar arquivos).

2 Respostas

R

Estou com a mesma dúvida!

N

Cara, eu ativei o timeout do socket e criei uma thread que ficava enviando uma mensagem só para não acontecer o timeout

ficou do gênero:

while(usuario.conectado())

{

saida.write(1);

}
E no cliente:

while(isConectado())

{

entrada.readInt();

}

Basicamente o que você tem que fazer é criar uma thread que fica ativa enquanto o usuário está conectado no servidor que fique validando a conexão. Também criar uma “trava” em quem foi enviar essa mensagem para que o receptor da mensagem não receba por exemplo uma outra mensagem enviada e ache que é a mensagem de validação

Criado 22 de junho de 2015
Ultima resposta 28 de mar. de 2016
Respostas 2
Participantes 2