SE_serverinfo_get_tcpkeepalive |
Extracts TCPKEEPALIVE from the SE_SERVERINFO object
LONG SE_serverinfo_get_tcpkeepalive (const SE_SERVERINFO svrInfo, BOOL *tcpkeepalive);
svrInfo | The SE_SERVERINFO object |
tcpkeepalive | TCPKEEPALIVE value (TRUE or FALSE) |
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.
SE_SUCCESS
SE_INVALID_POINTER
SE_INVALID_SERVERINFO_OBJECT
SE_SDE_NOT_STARTED