Aplikacja klienta łączy się z serwerem po przez komponent TSQLConnection - DataSnap. Klient wysyła zapytanie do serwera które to odbiera i zaczyna realizować i serwer zanim zwróci wynik do klienta przerywam połączenie "WAN" (Klient i Serwer jest na 2 różnych komputerach). W tym momencie aplikacja klienta "zamiera" nie zgłasza żadnego wyjątku nawet jeśli wznowie połączenie WAN to i tak program klienta "wisi" na dobre. Jedyny sposób to wymuszone zamkniecie aplikacji.
Czy jest jakiś sposób abym otrzymywał jakąkolwiek informację o tym że TSQLConnection utraciło połączenie z serwerem? Czy jedynym rozwiązaniem jest obsługa TSQLConnection z poziomu np. pobocznego wątku który to jeśli nie zwraca wyniku przez x - sekund to generuje wyjątek?
U wujka google jest wiele informacji o tym jak rozwiązać problem utraty połączenia klient-serwer ale tylko po stronie serwera.
Zamieszczam przykładowy program: po zalogowaniu klienta i kliknięciu przycisku "Wyślij żądanie" mamy 10 sekund na to aby przerwać połączenie co powoduje piękne zawieszenie aplikacji klienta.