Вы можете использовать событие OnStatus
, проверяя состояние hsDisconnected
.
В настоящее время TIdTelnet
не вызывает ни OnDisconnect
, ни * 1009.* событие, когда соединение неожиданно закрывается.Это известная проблема, которая имеет открытый тикет в трекере проблем Indy:
# 118: TIdTelnet должен запускать OnDisconnect или OnStatus при отключении
Пока это не будет исправлено,вам придется изменить исходный код TIdTelnet
, чтобы подключить его к внутреннему потоку чтения, или, по крайней мере, назначить ему обработчик OnTerminate
, чтобы определить, когда он перестает работать.