Conexão DataSnap Multiplos Servidores

Delphi

11/01/2016

Pessoal estou com o seguinte problema:
Estou começando um projeto novo onde eu preciso acessar, simultaneamente, vários servidores com conexão DataSnap em locais distintos, com o objetivo de verificar se há disponível um determinado produto em alguma loja.
Para isto crio e disparo, automaticamente, várias Threads com base na quantidade de servidores previamente cadastrados no sistema, mas ocorre que quando uma ou mais Thread não consegue estabelecer a conexão ao servidor destinado ela trava a conexão das demais enquanto não esgota o timeout de conexão. É como se não houvesse uma Thread para cada conexão e estas fossem disparadas em sequência.
Será que alguém poderia me ajudar?
Djalma Oliveira

Djalma Oliveira

Curtidas 0

Respostas

Luiz Menin

Luiz Menin

11/01/2016

Olha, posso estar enganado, mas será que não é porque você está ocupando a mesma porta para todas as conexões? Dessa forma, a porta fica ocupada enquanto não estourar o timeout, bloqueando as outras conexões.
Tente deixar uma porta por servidor Datasnap.
GOSTEI 0
Djalma Oliveira

Djalma Oliveira

11/01/2016

Luiz, muito obrigado pelo seu interesse em tentar ajudar.
Quanto a questão da porta acredito que não seja isto uma vez que os Computadores Servidores estão em empresas diferentes, ou seja, endereços IPs diferentes, redes diferentes. Além disto não estou acessando uma mesma porta local> Ademais o Computador Servidor pode receber uma quantidade enorme de conexões ao mesmo tempo.
O problema é no Computador Cliente, ou seja, o que está chamando/disparando as Threads. As Threads ficam enfileiradas aguardando o retorno da conexão anterior para então ser executada. No Computador Cliente eu não tenho que configurar/liberar nenhuma porta, ele simplesmente tenta abrir um canal de comunicação com o Computador Servidor, que por sua vez esta "escutando" e respondendo a pedidos de conexões em uma porta".
Obrigado mesmo. Se puder repassar isto a algum colega e então ajudar que isto vire uma corrente para que eu e outros colegas com o mesmo problema possam ter alguma solução eu agradeceria muito.
Valeu.
GOSTEI 0
POSTAR