Kbase 17953: Detecting dead remote clients
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  01/12/1999 |
|
Detecting dead remote clients
Many of our users ask how a Progress server detects a dead remote
client.
Progress cannot detect a dead remote client. There is no watchdog.
Progress relies on the network protocol (TCP, SPX, NETBIOS, etc...)
to notify the database that a remote user has died or disconnected.
If a dead remote client is not being removed from the database, the
network stack is not notifying the Progress database. In many cases
a patch or upgrade to the networking protocol will fix the problem.
However, on NT there is a ClientTimeOut Progress parameter you can use. It allows the server process to determine whether a client has been inactive for a specified period of time, and if so, the server disconnects the client and backs out any related active transactions. In version 7 of Progress on NT the ClientTimeOut parameter should be put in the [Startup] section of the progress.ini file. In version 8, it should be put in the [Startup] section of the registry:
HKEY_CURRENT_USER\Software\PSC\PROGRESS\<ver>\Startup
The syntax is:
ClientTimeOut=n
where n is the number of minutes a client can be idle before theserver disonnects it.
Unix and VMS systems have a KeepAlive option which functions in much the same way. KeepAlive is a TCP setting, not a Progress parameter. Please see the following knowledgebase articles for more detailed information:
13493 Socket KeepAlive Q&A, disconnecting of remote clients
16001 KeepAlive functionality on VMS
16429 KeepAlive option for NT server
17130 How to set the socket KeepAlive on HPUX