Нет простого / очевидного / встроенного способа определения этого в XE. Вы могли бы реализовать что-то для достижения этой цели, но это может быть не так элегантно, как вы хотите. Например, вы можете запросить у сервера все подключенные клиенты и дать им ответ, что они все еще там. Процесс устранения приведет вас к отключенному клиенту.
Одна из основных проблем заключается в том, что в XE была ошибка, которая не позволяла управлению сессиями работать с TCP-соединениями. В противном случае вы сможете просматривать активные сеансы (которые могут содержать информацию о пользователе / клиенте), чтобы увидеть, какие из них отсутствуют.
Кроме того, XE не поддерживает настройки TCP Keep-Alive, которые полезны в ситуациях, когда соединения TCP разрываются (например, сетевой кабель отключен), но остаются в открытом состоянии. Без Keep-Alive вы знаете, что клиент исчезает, когда вы пытаетесь что-то ему написать.
В следующем выпуске RAD Studio / DataSnap вы можете обнаружить, что функции, которые вы хотите легко выполнить, доступны.
Mat