Hopefully this will make sense…
I think I’'ve encountered a problem that I believe is related to the “KeepAliveTask” implementation. Specifically, KeepAliveTask traps and ignores Exception. By trapping Exception and ignoring it, the connection object is not alerted to the fact that the connection is no longer available. The server sees the client as off-line but the client is unaware of its state. So the client is essentially off in the weeds.
Shouldn’‘t the KeepAlive implementation allow the client to be alerted to the fact that the connection has been lost? This would allow the client to properly cleanup, terminate, retry, etc. Otherwise it’'s just stuck.