我正在Delphi程序中使用Indy telnet客户端组件。 现在,我需要捕获telnet断开连接(例如,当某些其他程序连接到同一主机时,我的连接断开了)。 如何抓到它?
答案 0 :(得分:2)
您可以使用 (NCA-15,5)
事件,检查OnStatus
的状态。
这时,当连接意外关闭时,hsDisconnected
不会触发TIdTelnet
或OnDisconnect
事件。这是一个已知问题,在Indy的问题跟踪器中有一张待售票:
#118: TIdTelnet needs to trigger OnDisconnect or OnStatus when disconnected
在此问题解决之前,您必须修改OnStatus
的源代码以使其进入其内部读取线程,或者至少在TIdTelnet
处理程序上分配给它,以检测其何时停止运行