Logic to disconnect an idle client

Dear All ,

Kindly help me in disconnect an idle client , if he/she idle for more than a specified time.

1. I tried in the Server
HKEY_LOCAL_MACHINE\SOFTWARE\PSC\PROGRESS\101B\STARTUP , put a new string value and put the value as 5. Then start the client kept it for more than 5 min idle BUT client was not disconnected

I heard that There is a way to do this in the main block of Main Menu. Can anyone send me the code to do this. Or tell me anything wrong in my server setup belowHKEY_LOCAL_MACHINE\SOFTWARE\PSC\PROGRESS\101B\STARTUP

TIA
Philip

 
There is no startup parameter or client side registry entry that will do this.

There is also the problem of defining "idle". It isn't easy or obvious to decide what constitutes an idle session.

Some applications have timeouts in their menu systems and such. You'll have to consult the vendor's documentation for details (or tell us what package you are using and perhaps someone will be familiar with it).
 
Thank a lot for your reply.

Kindly review the following Link KB P15531.
http://progress.atgnow.com/esprogre...tSolutionLink=1&tabs=true&docPropValue=p15531

We are setting ClientTimeOut in the Server. See the Log file
[2008/11/03@08:54:49.464-0800] P-3800 T-3492 I SRV 5: (739) Logout usernum 44, userid LCB, on ws137.
[2008/11/03@08:55:54.775-0800] P-3800 T-3492 I SRV 5: (739) Logout usernum 45, userid MLM, on ws116.
[2008/11/03@09:04:12.278-0800] P-2236 T-432 I SRV 3: (4435) Client 1 was inactive for more than 30 minutes.
[2008/11/03@09:04:12.278-0800] P-2236 T-432 I SRV 3: (739) Logout usernum 47, userid DLW, on WS113.

Above red entry in the Log file is because of this ClientTimeOut Setup. Is this assumption is correct?
I want to EXCLUDE two clients connctions from this setup. Means I don't want to disconnect this two clients, even though it is idle for more than 30 minitues. Any way to do this? If run a small DB read procedure every 29th minitue from these two client can SAVE my disconnection?
-Philip-
 
You are now asking for the opposite of your original post.

As I said defining "idle" is difficult. Possibly impossible. Luckily that isn't what you really want to do.

The half baked, badly named and poorly implemented windows-server-only bug/feature that the kbase refers to applies to all connections equally and, as the article indicates, is really intended to attempt to identify broken connections rather than idle connections by assuming that if it hears nothing for a while that a connection should be disconnected on the server side (it does nothing on the client side).

Yes, you could prevent it from firing by occasionally reading a record. (Which, as I mentioned, is exactly the opposite functionality from that which you opened the thread seeking...) I'd do it a bit sooner than 29 minutes though ;)

Solutions to "idle" problems (either too much or too little of it) that are based on users returning to a menu usually don't work. Users have a bad habit of sitting in screens rather than returning to a menu. (Which also poses problems if the screen opens a transaction or holds record locks -- which is why db interaction should not be mixed with UI. But I digress...)

If you have control over your code you could probably use PSTimer to set something up which would occasionally read a record. If you don't have control you still might be able to do it by creating a customer startup procedure (the -p client parameter) that sets up PSTimer and then calls the normal startup.
 
Back
Top