Usando idTCPServer e idTCPCliente ?

14/01/2006

0

Olá pessoal,

tenho uma dúvida, utilizo os componentes idTCPServer e idTCPCliente para transmissao de dados entre filiais, e está funcionando bem, contudo, gostaria de saber se devo implementar algum controle extra sobre esses componentes uma vez que eles são MultiThread e ao meu ver eles deveriam ´a priori´ cuidar dessas múltiplas conexões automaticamente. Como os dados que transmito são em geral lotes pequenos, não sei se a ausência de erros se dá pelo fato de não ter ocorrido conexões simultâneas concorrentes.

[]´s
AASN


Aasn

Aasn

Responder

Posts

14/01/2006

Massuda

...não sei se a ausência de erros se dá pelo fato de não ter ocorrido conexões simultâneas concorrentes.
Depende do erro que você está se referindo.

Erros de comunicação (dados corrompidos) não devem ocorrer se o protocolo de comunicação que você implementou entre o servidor e o cliente estiver OK (vamos chamar isso de protocolo da aplicação). O transporte dos dados (vamos chamar de protocolo físico, embora não seja exatamente isso) feito pelo TCP/IP é garantido como sendo livre de erros (os dados chegam livres de erro ou não chegam).

Geralmente problemas relacionados com concorrência/sincronismo ocorrem no tratamento dos dados que recebidos/transmitidos, seja no acesso à interface com o usuário, seja em processamento que envolva banco de dados. Por exemplo, via de regra, você não pode compartilhar uma conexão com banco de dados com várias threads (note que isso se aplica a qualquer caso que envolva multithread).


Responder

14/01/2006

Aasn

Caro Massuda,

os arquivos que são transmitidos entre servidor e cliente são scripts sql, com isso o servidor ao receber este arquivo criar uma instância do TIBOQuery e processa esse script.
Minha dúvida é que se duas filiais fizerem a conexão e transmissão ao mesmo tempo isso não acarretará um conflito no processamento, por parte do servidor, da criação e execução deste script ? Ou o servidor irá automaticamente controlar cada conexão separadamente ?

[]´s
AASN


Responder

14/01/2006

Massuda

Pelo que eu entendi, no seu caso, threads diferentes no servidor TIdTCPServer irão criar um TIBOQuery cada... eu não conheço esse componente de acesso ao IB, mas se esse componente (TIBOQuery) puder ser usado dessa forma em multithread, não há problema.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar