По результатам нашего тестирования видно, что на сервере и на клиенте есть настройки, которые включают эту функцию. На стороне клиента SetReconnAttemptCount, Delay, Timeout управляют попытками, которые клиент пытается восстановить, как только он узнает об отказе сервера / восстановлении соединения.
В нашем тестировании мы использовали среду с одним сервером, дважды указали сервер в строке подключения (используя трюк, описанный выше), и когда этот сервер был отключен, мы получили уведомление клиента о том, что процесс аварийного переключения вступает в силу мы включили Tibems.SetExceptionOnFTSwitch (true)), и когда сервер был снова подключен к сети, наш клиент, казалось, снова подключился, не пропустив ни секунды. Нам ничего не нужно было кодировать, внутренняя логика повторного подключения работала с волшебством.
На стороне сервера должна быть включена отказоустойчивость, и я полагаю, что сердцебиения сервера-клиента и клиента-сервера должны быть включены (хотя это еще не было проверено).
Надеюсь, это поможет.