I have a server and a client application that is written using the Indy
8.0.22 TCP client and server components. The client basically sents a sql
request to the server while the server does an ado query to a backend
database. This works for the most part. However, there seems to be
occassions where either the client or the server times out prematurely on
queries that takes extra long time. Is there anyway of setting the timeout
factor between the client and the server? I've played around with the
"TerminateWaitTime" property of the TIdTCPServer component and set it to be
really high (i.e. 30000) and that does not seem to have any effect at all.
There doesn't seem to be a setting for a timeout factor for the TIdTCPClient
component. Any ideas?
thanks!
--Wayne
> I have a server and a client application that is written
> using the Indy 8.0.22 TCP client and server components.
That is a very old version of Indy. You should seriously consider upgrading
to the lastest version from http://www.indyproject.org.
> Is there anyway of setting the timeout factor between the
> client and the server?
Have a look at the TIdTCPConnection::ReadTimeout property.
> I've played around with the "TerminateWaitTime" property
> of the TIdTCPServer component
That has no effect on the timeouts while the connection is still active. As
its name implies, it only effects the waiting interval while terminating
threads when closing connections.
Gambit
Thanks for the reply post. I am taking your suggestion in upgrading to
version 9.0.14. However, I seem to have encounter a problem with the
install. I am getting a "The procedure entry point
@Idresourcestrings@_RSBindingAny could not be located in the dynamic link
library Indy60.bpl.". I don't see what would cause this problem as I
followed the installation instruction accordingly. I am in installing this
on D6. I had uninstall version 8.xx.xx of Indy before trying to install
this new version. Any idea what I may have done incorrectly or any
suggestions?
thanks again!
--Wayne
"Remy Lebeau (TeamB)" <gamb...@yahoo.com> wrote in message
news:3f6ba137$1...@newsgroups.borland.com...
> I seem to have encounter a problem with the install. I am getting a
> "The procedure entry point @Idresourcestrings@_RSBindingAny
> could not be located in the dynamic link library Indy60.bpl.".
You still have older v8 files lingering on your system. You need to remove
them. According to the Indy FAQ:
How do I install Indy into Borland Delphi?
· Close the Borland Delphi IDE if it is open.
· If you are using the version of Indy included in Delphi 6 or 7, use
the MSI installer to remove Indy.
· Remove all Indy files including dclIndy*.bpl, Indy*.bpl, the Id*.pas,
and the Id*.dcu's. Take care that you only remove the old Indy files and not
something else. Be sure that you also remove any Indy*.bpl from your
Windows\System directory.
· Place the new version of Indy in a directory of your choice. When
unzipping, please keep the \source directory for the archive intact because
that is used by some build batch files.
· In the source directory, there are several batch files. Run the
appropriate one for your version of Indy:
· FULLD4.BAT - Delphi 4
· FULLD5.BAT - Delphi 5
· FULLD6.BAT - Delphi 6
· FULLD7.BAT - Delphi 7
· These batch files create subdirectories in the main Indy directory
folder. They are (D4 for Delphi 4, D5 for Delphi 5, D6 for Delphi 6, and D7
for Delphi 7). These directories contain:
· The Indy .DCU's
· The Indy Design-Time .BPL
· In your Delphi IDE, add the Indy design-time package with
Component|Install Package...|Add... Go to the subdirectory where the Indy
.DCU's and Design-Time .BPL was placed by the batch file. Add the
Design-Time .BPL that is listed. It usually is named dclIndy followed by the
Borland Delphi version and an 0.
· Add the path where the .DCU's are located to your environment. Do this
with Tools|Environment Options...|Library...|Library Path...
Gambit