如何捕获 telnet 断开连接(Delphi Indy telnet)?
How to catch telnet disconnection (Delphi Indy telnet)?
我在 Delphi 程序中使用 Indy telnet 客户端组件。
现在我需要捕获 telnet 断开连接(例如,当其他一些程序连接到同一主机时,我的连接断开了)。
如何捕捉?
您可以使用 OnStatus
事件,检查 hsDisconnected
状态。
此时,当连接意外关闭时,TIdTelnet
不会触发 OnDisconnect
或 OnStatus
事件。这是一个已知问题,在 Indy 的问题跟踪器中有一个开放票证:
#118: TIdTelnet needs to trigger OnDisconnect or OnStatus when disconnected
在修复此问题之前,您必须修改 TIdTelnet
的源代码以挂接到其内部读取线程,或者至少将 OnTerminate
处理程序分配给它,以检测它何时停止 运行.
我在 Delphi 程序中使用 Indy telnet 客户端组件。 现在我需要捕获 telnet 断开连接(例如,当其他一些程序连接到同一主机时,我的连接断开了)。 如何捕捉?
您可以使用 OnStatus
事件,检查 hsDisconnected
状态。
此时,当连接意外关闭时,TIdTelnet
不会触发 OnDisconnect
或 OnStatus
事件。这是一个已知问题,在 Indy 的问题跟踪器中有一个开放票证:
#118: TIdTelnet needs to trigger OnDisconnect or OnStatus when disconnected
在修复此问题之前,您必须修改 TIdTelnet
的源代码以挂接到其内部读取线程,或者至少将 OnTerminate
处理程序分配给它,以检测它何时停止 运行.