Ir para conteúdo
  • Cadastre-se

dev botao

ACBrMTer - Problema de conexão com múltiplos Micro Terminais


Vitor Cortinovis
Ver Solução Respondido por Vitor Cortinovis,
  • Este tópico foi criado há 1513 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia. Alguma novidade em relação aos testes? Preciso o mais rápido possível dessa solução pra liberar uma versão pro meu cliente.

Notei que se eu fazer a seguinte validação quando o Micro Terminal desconecta e conecta novamente:

if(not(Assigned(ACBrMTer1.Conexoes.Conexao[IP])))then
  Mensagem = 'Conexão não estabelecida'

Ele me retorna o IP que não é possivel acessa-lo.

Com isso eu utilizo um Locate no cds que utilizo pra carregar os Micro Terminais carregados e dou um Delete somente nesse registro.

Só que quando eu tento carregar todos os Micro Terminais, eu verifico se o IP existe no cds, se existir ele não cria, se não existir, ele cria, só que ele ta limpando todas as conexões ao invés de manter as conexões que estão no cds e só adicionar aquelas que não estão.

Seria um norte pra você me dar uma força na solução do problema de reconectar Micro Terminais sem desconectar os que estão conectados?

Obrigado. Aguardo resposta.

Link para o comentário
Compartilhar em outros sites

  • Solution

Boa tarde. Outros desenvolvedores da minha equipe me auxiliaram nessa questão e aparentemente conseguimos obter resultados. Com isso, irei realizar e simular vários tipos de testes para serem feitos para verificar se o erro foi solucionado. Após finalizar os testes e verificar que realmente a solução obteve êxito, irei estar atualizando a Demo do projeto ACBrMTer e postando aqui no tópico para que possam verificar a lógica e futuramente estarem atualizando os fontes da Demo no projeto ACBr. Agradeço a atenção de todos que ajudaram de alguma forma nesse tópico. 

Nesse tópico eu pedi algumas respostas imediatas mas não é assim que funciona, então peço desculpa caso algum integrante se sentiu pressionado a respeito, beleza? Obtive bastante informação pra estar explicando ate mesmo para meu colega de trabalho como o erro acontece e sendo assim achando a possível solução do problema.

Irei aplicar a solução e realizar os demais testes e se a solução obtiver êxito, estarei disponibilizando os novos fontes da Demo do ACBrMTer.

Valeu galera... :);) 

Obs: Não fechem ainda esse tópico pois daqui um tempo postarei os fontes atualizados da Demo nesse tópico!!

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
56 minutos atrás, William F. L. disse:

Colega só por curiosidade, vc obteve sucesso nos seus testes ?

Bom dia. Em relação aos dois erros citados:

1 - Problemas de conexão com multiplos MicroTerminais

R: Atualizei o componente ACBrMTer onde o mesmo possui uma nova propriedade chamada "KeepAlive". Essa propriedade se refere a um timer que fica verificando de tempo em tempo se os MicroTerminais que estão conectados estão ativos. Com isso, os Microterminais recebem "beeps" de comandos onde o mesmo nunca irá ficar inativo, pois sempre de tempo em tempo ele recebe um comando. Com isso, atribui um valor na propriedade do componente (KeepAlive) de 5 segundos e resolveu o meu problema de perca de conexão com os MicroTerminais.

Citar

-- ACBrMTER --
[+] Adicionada a Propriedade "KeepAlive : Integer default 0"
    Se o valor for diferente de 0, o ACBrMTER irá verificar se a conexão com o
    Microterminal ainda está ativa, a cada N segundos
[*] Melhoria na detecção de Queda de Conexão, para evitar erros de A.V.
    (por: DSA)

2 - Problemas ao reconectar os MicroTerminais?

R: Nesse caso foi necessário reformular o método de conexão dos MicroTerminais pois a cada nova conexão ele chama o mesmo método para se reconectar. Então, criei um enumerador que possuem 3 opções: Create, Update e Destroy, onde Create seria a hora que o MicroTerminal será ligado pela primeira vez, Update é quando ele já estava conectado e por motivos diversos ele se desconectou, então ele irá se conectar novamente, e o Destroy é quando se encerra a conexão com todos os MicroTerminais. Com isso, foi possível solucionar a questão de reconectar os MicroTerminais sem travar todos eles.

Se ficou alguma dúvida, só perguntar novamente que irei estar analisando a dúvida para te ajudar!!

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1513 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.