Bueno, pues puedes acceder a la lista de Hilos del TCPServer y desconectarlos a todos manualmente. Ten en cuenta que estoy utilizando Indy 10 y que aqui ya no existe los PeerTrhead sino que son los AContext, que son lo mismo pero con algunas modificaciones. Asi que quisas tengas que adaptar este codigo si usas Indy 9. Te recomiendo que actualices a la version 10 que esta mucho mas comoda y facil de utilizar y que ademas tiene muchos nuevos componentes como los SSL que son muy utiles.
Código Delphi
[-]
private
procedure DesconectarClientes();
...
implementation
procedure TForm1.DesconectarClientes ();
var
vList: TList;
vCount: Integer;
vDatos: PClient;
begin
try
vList := TCPServer.Contexts.LockList;
for vCount := 0 to vList.Count -1 do
begin
TIdContext(vList.Items[vCount]).Connection.Socket.Close;
TIdContext(vList.Items[vCount]).Connection.Disconnect;
TIdContext(vList.Items[vCount]).Connection.Disconnect(True);
TIdContext(vList.Items[vCount]).Connection.DisconnectNotifyPeer;
end;
finally
TCPServer.Contexts.UnlockList;
end;
end;
Espero que te sea de ayuda esta codigo y cualquier cosa puedes preguntar que aqui estamos para ayudarte gg !