Using server-to-client keep-alives with SmartSockets 5.5 clients connected to 6.X RTservers

Using server-to-client keep-alives with SmartSockets 5.5 clients connected to 6.X RTservers

book

Article ID: KB0090910

calendar_today

Updated On:

Products Versions
TIBCO SmartSockets -
Not Applicable -

Description

Resolution:
SmartSockets 5.X RTclients have no callback to respond to server-to-client keep-alive's sent from a 6.X RTsever. The ability for RTclients to respond to RTserver keep-alive's was introduced in SmartSockets 6.0. If the client_read_timeout and client_keep_alive_timeout are set to a value other than their default (0.0) in a 6.X RTserver then 5.X RTclients connected to it can experience a  "false disconnect".

If the RTclient sends out a message OR sent out its own keep-alive after the 6.X RTserver sent out its keep_alive then the 6.X RTserver will continue to wait for the keep_alive Message Type (T_MT_KEEP_ALIVE_RESULT) response from the 5.5 RTclient even though it has received other Message Types from the 5.5 RTclient during the RTserver's keep_alive_timeout period.

If a keep_alive response Message Type is not received by the 6.X RTserver in keep_alive_timeout amount of time the 6.X RTserver will terminate the connection to the 5.5 RTclient. This is why if all RTclients connected to a 6.X RTserver are of rev. 5.5 you should turn off the client_read_timeout and client_keeep_alive_timeout in the 6.X RTserver. When you do this then discovery of a broken connection falls to the 5.5 RTclient as its server_read_timeout and server_keep_alive timeout will be used. (Note: The 6.X server *can* answer the 5.5 keep_alive request).

Issue/Introduction

Using server-to-client keep-alives with SmartSockets 5.5 clients connected to 6.X RTservers