Pessoal, estou com um problema aqui, eu ja postei sobre isso no forum mas a solucao que me apresentaram parece que não surgiu efeito para correção do bug.
Metodo de comunicação: Sockets
Estrutura fisica: Wireless LAN
O problema é que fica dando ReadTimeOut toda hora e as vezes segue de ConnectionRefused, e não é problema de interrupção no sinal, por que já testei no cabo também e sem solução (todos os metodos estão em sincronia, ja verifiquei e não esta acotnecendo um deadlock)
Uma maneira de contornar esse problema foi a inserção de um reconnect toda vez que da um desses erros, mas o problema é que TODA hora da esse problema…
O programa está assim:
Possuo uma classe interna que fica lendo os dados o tempo todo, esse processo é feito escrevendo uma mensagem no socket e lendo a resposta.
public synchronized void connect(String ip, int port) {
try {
InetSocketAddress inet = new InetSocketAddress(ip, port);
socket = new Socket();
socket.connect(inet, 2000);
socket.setSoTimeout(2500);
in = socket.getInputStream();
out = socket.getOutputStream();
} catch (IOException e) {
e.printStackTrace();
}
}