Fórum Componentes Indy - Read TimeOut #267910
09/02/2005
0
Estimados amigos,
Estou desenvolvendo uma aplicação usando o componente TCP/IP da paleta INDY. Gostaria de obter algumas informações ao seguinte respeito:
* Existe algum número limitado de clientes requisitando informações do servidor através de comandos.
Por exemplo: Writeln(´ATUA-12/01/1900´); e recebendo as respostas do servidor Readln;
Antes de executar uma atualização da base de dados eu necessito da verificação da data, geralmente a resposta vem através de uma exceção ReadTimeOut - geralmente dá esse pau e eu não sei mais o que fazer. E o pior é que o Servidor está rodando na mesma máquina usando a porta 40000.
Não era para dar pau, mas esta dando direto.
Alguém poderia dar uma luz, por favor!!!
Agradeço a atenção de todos e obrigado mais uma vez.
Estou desenvolvendo uma aplicação usando o componente TCP/IP da paleta INDY. Gostaria de obter algumas informações ao seguinte respeito:
* Existe algum número limitado de clientes requisitando informações do servidor através de comandos.
Por exemplo: Writeln(´ATUA-12/01/1900´); e recebendo as respostas do servidor Readln;
Antes de executar uma atualização da base de dados eu necessito da verificação da data, geralmente a resposta vem através de uma exceção ReadTimeOut - geralmente dá esse pau e eu não sei mais o que fazer. E o pior é que o Servidor está rodando na mesma máquina usando a porta 40000.
Não era para dar pau, mas esta dando direto.
Alguém poderia dar uma luz, por favor!!!
Agradeço a atenção de todos e obrigado mais uma vez.
Eixox
Curtir tópico
+ 0
Responder
Posts
09/02/2005
Massuda
Antes de executar uma atualização da base de dados eu necessito da verificação da data, geralmente a resposta vem através de uma exceção ReadTimeOut - geralmente dá esse pau e eu não sei mais o que fazer. E o pior é que o Servidor está rodando na mesma máquina usando a porta 40000.
Parece que seu servidor não conseguiu devolver para o cliente uma resposta dentro do tempo especificado de espera.Imaginando que essa verificação de data é um processo demorado e envolve consulta ao BD, seria interessante saber qual BD e como você está acessando o BD (BDE/dbExpress/etc).
Um teste que você pode fazer é comentar a verificação no BD e fazer o servidor simplesmente retornar verificação OK ou falhou. Pelo que você explicou, não deveria dar a exceção nesses casos.
Responder
Gostei + 0
10/02/2005
Eixox
As coisas acontecem da seguinte forma:
- Existe um arquivo que eu gero que contém uma lista de dados (um simples arquivo texto - tabulado). Quando o comando ATUA é enviado o sistema verifica o comando e existe uma função que eu fiz que vai dentro de uma pasta chamada Downloads e verifica a data do arquivo e retorna-a em forma de string.
- no procedimento onExecute do IdTcpIpServer a resposta é dada da seguinte forma:
if (ComandoServer = ´ATUA´) then
begin
AThread.Connection.Writeln(DataDoArquivoDown);
AThread.Connection.Disconnect;
end;
eu estava pensando agora - acho que o pau está dando nessa bosta de função dentro do writeln.
Bem, independentemente, o servidor responde e o cliente através de uma função de leitura (Readln) verifica a data e faz a requisição ou não de download se a versão da data do arquivo dele for menor a enviada pelo servidor.
- Existe um arquivo que eu gero que contém uma lista de dados (um simples arquivo texto - tabulado). Quando o comando ATUA é enviado o sistema verifica o comando e existe uma função que eu fiz que vai dentro de uma pasta chamada Downloads e verifica a data do arquivo e retorna-a em forma de string.
- no procedimento onExecute do IdTcpIpServer a resposta é dada da seguinte forma:
if (ComandoServer = ´ATUA´) then
begin
AThread.Connection.Writeln(DataDoArquivoDown);
AThread.Connection.Disconnect;
end;
eu estava pensando agora - acho que o pau está dando nessa bosta de função dentro do writeln.
Bem, independentemente, o servidor responde e o cliente através de uma função de leitura (Readln) verifica a data e faz a requisição ou não de download se a versão da data do arquivo dele for menor a enviada pelo servidor.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)