kra, sofro com o mesmo problema! isso é um problema do celular, não é da conexão e nem do aplicativo, fuçando no forum nokia, descobri que é um “bug”, quando o celular tenta enviar varias vezes sem sinal e não consegue, o celular desliga o modem. solução ? reinicie o aparelho!
eu estou testando uma aplicação no nokia 5200…ela envia arquivos para um server on através do pacotes de dados da claro!!
o que acontece…o aplicativo roda normal nele e no n73!!
o problema é q ao fazer testes sem conexão (quando falta sinal da claro), o aplicativo fica tentando enviar…
até ai normal…só q ao tentar 7x no 5200…ele simplesmente nao tenta mais!!
não é problema do app…pois quando leio os logs ele continua tentando…mas meio q ocorre uma falha nos pacotes de dados…
no n73 funciona normal…
algumas das soluções em q fiquei fuçando foi:
reiniciar o aplicativo; (tentei com o PushRegistry…mas sem sucesso!)
reiniciar a conexão; (nao tenho idéia de como faço isso)
e nao consegui fazer mais nada…alguém pode me dar uma mão?
obrigado[/quote]
Já usei este cel e desconheço a existem deste bug. Não tive a necessidade de reiniciar por falha na conexão. Quando se falha, nada mais acontece que uma exceção é levantada. Tendo-se o devido try-catch, sua tentativa de transmissão em um timer ou não, irá ocorrer novamente sem problemas.
Ao godinez, peço que coloque o link do site da Nokia onde existe este issue para o 5200.
kra, vou procurar novamente, faz muito tempo que eu pesquisei sobre isso, mas o link que eu achei foi sobre o Nokia 2630 ou 2660, nao me lembro.
Fiz um aplicativo de teste, onde o aplicativo ficava tentando pingar a cada 1 min em um webservice, deixei os celulares Nokias(2660,2760,2630,6125,5200) dentro do carro no ultimo andar do estacionamento no subsolo, estava totalmente sem sinal, ficou o dia inteiro rodando o aplicativo.Resultado; no final do dia nenhum conseguia transmitir nada, só voltaram transmitir depois que os celulares foram reiniciados.
Não sei como esta seu código ericmaicon e nem como esta o seu godinez, mas eu trabalhei com varios celulares e nunca vi isso. e acho dificil ser “bug” se fosse um “chang jiang” ai da vida, mas…
Dê uma olhada na seguinte situação: quando você faz uma chamada para uma conexão o celular abre uma “permissão” e cria um canal entre sua aplicação e o socket. porem assim como tudo que é bem feito a kvm tem um controle em sockets que não deixa acontecer um deadlock. Ou seja quando você faz a 1a chamada ele abre o socket e te dá N tentativas após isso mata essa ligação, assim como funciona o timeout.
Creio que a solução para você é chamar essa conexão dentro de um método e se não conseguir executar fecha a conexão e mata o objeto. você tem que ter um controle seu disso, porque a kvm tem o dela. se não iria gerar um loop infinito e deixar o sistema de I/O travado para sempre (Coordenado somente pela sua aplicação), por isso a kmv corta seu barato.
Para solucionar feche a conexão, tenha controle de timeout, e deixe o objeto de socket dentro do método para ser liberado após o fim da tentativa.
Não sei se fui claro (Acho que não!), porem eu tenho uma classe assim e nunca tive problemas algum, e olha que já a usei em N modelos diferentes, de varias formas diferentes (Pelo usuario, automaticas, por tempo e etc…), então deve fazer sentido.