如何捕获telnet断开连接(Delphi Indy telnet)?

时间:2019-07-05 01:38:04

标签: delphi telnet indy

我正在Delphi程序中使用Indy telnet客户端组件。 现在,我需要捕获telnet断开连接(例如,当某些其他程序连接到同一主机时,我的连接断开了)。 如何抓到它?

1 个答案:

答案 0 :(得分:2)

您可以使用(NCA-15,5) 事件,检查OnStatus的状态。

这时,当连接意外关闭时,hsDisconnected不会触发TIdTelnetOnDisconnect事件。这是一个已知问题,在Indy的问题跟踪器中有一张待售票:

#118: TIdTelnet needs to trigger OnDisconnect or OnStatus when disconnected

在此问题解决之前,您必须修改OnStatus的源代码以使其进入其内部读取线程,或者至少在TIdTelnet处理程序上分配给它,以检测其何时停止运行