SE_serverinfo_get_tcpkeepalive

Extracts TCPKEEPALIVE from the SE_SERVERINFO object

Usage syntax

LONG SE_serverinfo_get_tcpkeepalive (const SE_SERVERINFO svrInfo, BOOL *tcpkeepalive);

Parameters
svrInfo The SE_SERVERINFO object
tcpkeepalive TCPKEEPALIVE value (TRUE or FALSE)
Description

This function returns the TCPKEEPALIVE value from the SE_SERVERINFO object.

The TCPKEEPALIVE parameter, if set to TRUE, allows the ArcSDE service to use the current system's TCP/IP KEEPALIVE settings. ArcSDE services will then be able to detect clients whose machines have crashed or have been deliberately terminated by the Windows Task Manager or the UNIX kill command. When set to TRUE, it turns on a form of probing in which, following an interval of idle time specified by the operating systems keep alive interval, a packet is sent on the idle connection to see if there is anything on the other end. If a response is not received, several more packets may be re-sent based on the operating systems keep alive configuration before it is established that the client no longer exists and the application connection is terminated.

TCPKEEPALIVE does not disconnect valid connections that have simply been sitting idle for more than two hours. It only disconnects application connections that have been terminated or crashed. TCPKEEPALIVE will not disconnect a direct connection.

Be aware, if TCPKEEPALIVE is set to TRUE, a disconnection can be triggered by short-term network outages (~10 minutes). Also be aware that the system's TCP/IP KEEPALIVE setting is system wide and affects all application server processes running in the TCP/IP environment.

Returns

SE_SUCCESS
SE_INVALID_POINTER

SE_INVALID_SERVERINFO_OBJECT

SE_SDE_NOT_STARTED