Qual é a melhor maneira de lidar com um sinal sem fio fraco a partir de um aplicativo móvel?

StackOverflow https://stackoverflow.com/questions/1273171

  •  13-09-2019
  •  | 
  •  

Pergunta

Eu tenho um dispositivo de digitalização portátil com o Windows 6.0. o dispositivo portátil é responsável pela digitalização de códigos de barras em um estacionários ao ar livre posição como as pessoas entram e saem de um edifício. A principal preocupação para esta aplicação é levar as pessoas dentro e para fora o mais rápido possível.

Agora, o portátil está se comunicando com um computador em outro prédio que está por trás de paredes de concreto de espessura. Tudo que faz é conectar a uma tomada, envie as informações de código de barras, e receber um pequeno arquivo xml em resposta.

O que você acha que seria a melhor maneira de lidar com o aplicativo não recebendo um sinal forte? Devo deixar a alça OS os avisos e possível desconexão, ou eu deveria controlar a aplicação e desligá-lo se o sinal cai para 1 bar por um período definido de tempo?

O problema com deixar a alça OS tudo, é que eu não sei se o usuário terá avisos de pouca intensidade de sinal ativado. Além disso, se é um sinal fraco, eo usuário continua a usar o aplicativo, ele será muito mais lento da fila.

Se eu desligá-lo eu mesmo, eu, pelo menos, garantir que o usuário tem que parar de usar o aplicativo e mudança para um método manual, mas a desvantagem é que o sinal fraco era apenas uma anomalia, então eu desligado o aplicativo e agora eu preso ao usuário a responsabilidade de tentar se reconectar a cada poucos minutos e ver se ele funciona ainda. (Uma vez que a conexão for perdida, não pode automaticamente ser restaurado, requer entrada do usuário).

Esta é a primeira aplicação que eu fiz para um dispositivo portátil, por isso não tenho a certeza que a abordagem padrão para uma questão como esta é. Algum conselho?

Foi útil?

Solução

Uma coisa a considerar é a melhor antena no roteador sem fio (google irá transformar-se muitas opções). Alguns dispositivos também pode aceitar uma antena externa, quer nativamente ou através de um corte hardware.

No lado do software, talvez considere exibir um aviso em uma área de status indicando que a intensidade do sinal é fraco e sugerindo o método manual até que um melhor sinal é alcançado. Eu certamente deixá-lo até que o usuário decida como proceder. Poucas coisas são mais irritantes para um usuário final de software tentando ser mais inteligente do que o usuário.

Outras dicas

Você faz qualquer coisa com o resultado?

Se não, você poderia apenas adicionar o código de barras digitalizado a algum tipo de fila que então lhe permitem digitalizar imediatamente o próximo enquanto a fila é processado em outro segmento.

Uma abordagem de bom pode ser um algoritmo heartbeating para sua conexão. Basta enviar um “ping” para o servidor usando sua tomada e aguarde o “pong”.

No ambiente de produção, você pode ajustar o tempo limite de ping para detectar com uma boa precisão quando a conexão for perdida ou é ruim para a sua aplicação.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top