create new tag
view all tags
-- YanaLorne - 08 Aug 2007

Appxd and appxdsvc.exe have been "fixed" as of release 4.2.8 so that an APPX session can more reliably detect that the TCP connection to the client has been lost. This means that the session can then terminate itself instead of hanging around indefinitely as an orphan. There are four environment variables that can be set to override the default settings for appxd. The configuration parameters for the Windows based APPXDSVC service can be specified in the registry. After the service is installed, you would add an Expandable String Value to the Config Key. The Config Key for the APPXDSVC service would normally be found at: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\appxd-8060\Config

Configuration parameters for appxdsvce:

# TCPEnableKeepAlive = true #Enable TCP dead-connection detection

# TCPKeepCount = 8 #Maximum number of keep-alive pings

# TCPKeepIdle = 300 #Idle time before ping sent to client (in seconds)

# TCPKeepInterval = 60 #Interval between keep-alive pings

# TCPNoDelay = true #disable TCP packet filling delay?

Environment variables for appxd:





The values shown are the default values, those values are installed when you create a new service and they are also the values that we use if the entries are missing from the registry.

The AppxDSvc installer only writes a Config entry if it differs from the default value. That means that the installer won't write out entries for the TCPKeepXXX values, but AppxDSvc will pretend like those values are present (and set to their default values).

You can add the entries manually if, for some reason, you want to change the defaults.

Default What it Does
TCPEnableKeepAlive true or false true Enable dead connection detection
TCPKeepIdle (seconds) 300 Idle time before starting to send pings
TCPKeepInterval (seconds) 60 Interval between keepalive pings
TCPKeepCount (count) 8 Count of keepalive ping attempts before closing

The time before a server session closes would be the combination of all of these. Here is what happens.

After 300 seconds of idle time the server TCP stack will start trying to ping the client TCP stack. The server will make 8 attempts to ping the client and get a response before giving up and closing. It will wait for 60 seconds after each ping attempt for a reply before sending the next ping.

So in this case it will be 300 seconds + ( 8 * 60 seconds ) = 780 seconds = 13 minutes before the server session goes away.

appxd has environment variables for these settings as follows:

APPXD_DISABLE_KEEPALIVE set to anything will turn off the keepalive code.




Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r2 - 2008-09-19 - SteveFrizzell
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback