Delphi IdMappedPortTCP问题

时间:2011-03-17 11:10:47

标签: delphi indy

有没有办法断开活动连接?我知道使用OnConnect你可以拒绝连接...但仅在连接

时才这样

1 个答案:

答案 0 :(得分:2)

是的,TidMappedPortTCP是TidTCPServer后代,因此您基本上可以使用几种不同的方法来断开活动客户端。例如,如果要断开OnExecute事件中的活动客户端(基于某些任意条件),您可以在事件处理程序内的某处执行此操作:

AContext.Connection.Disconnect;

如果你需要在代码中的其他地方断开活动连接(例如,不在OnExecute事件处理程序中),那么方法将是这样的:

  • 创建一个列表(TList或某个集合类),它将保存您的活动连接;
  • 在OnConnect事件处理程序中,将任何新客户端添加到此列表中;
  • 在OnDisconnect事件处理程序中,从此列表中删除已断开连接的客户端;

通过这种方式,您将始终拥有一组活动客户端,这些客户端将使您能够找到特定客户端,访问其连接对象并在需要时调用Disconnect方法。

如果您需要更详细的代码示例,请与我们联系。