Да, TidMappedPortTCP является потомком TidTCPServer, поэтому вы можете использовать несколько различных подходов для отключения активных клиентов.Например, если вы хотите отключить активный клиент внутри события OnExecute (основываясь на некоторых произвольных критериях), вы можете просто сделать это где-нибудь внутри обработчика события:
AContext.Connection.Disconnect;
Если вам нужно отключить активное соединениегде-то еще в вашем коде (например, не в обработчике события OnExecute), подход будет выглядеть примерно так:
- Создать список (TList или некоторый класс коллекции), который будет содержать ваши активные соединения;
- Внутри обработчика событий OnConnect добавьте все новые клиенты в этот список;
- Внутри обработчика событий OnDisconnect удалите отключенных клиентов из этого списка;
Таким образом, вы будетевсегда иметь коллекцию активных клиентов, которые позволят вам найти конкретного клиента, получить доступ к его объекту соединения и при необходимости вызвать метод Disconnect.
Дайте мне знать, если вам нужен более подробный пример кода.