Einzelnen Beitrag anzeigen

KarstenDdorf

Registriert seit: 25. Dez 2009
3 Beiträge
 
#1

IdFtpServer.onClientID -> Disconnect

  Alt 23. Sep 2015, 14:31
Hallo Forum

Ich habe recht lange gesucht, wie man vom Server aus an die ClientInfo kommt, die man im Client eintragen kann. Inzwichen habe ich gefunden, dass es ein eigenes Event ist. Wenn ich in diesem Event nun Feststelle, dass der Client veraltet ist, dann möchte ich ihn rausschmeißen (findet nach Login statt).

Alle Möglichkeiten, die ich dafür gefunden habe erzeugen aber eine Exception und damit einen Absturz des Servers. Ein Try Except hilft auch nicht dagegen.

procedure TftpsMain.ftpsClientID(ASender: TIdFTPServerContext; const AID: String);
begin
if aid <> 'xyz' then
try
//asender.Connection.SendCmd('Falsche ClientVersion, bitte updaten!');
asender.Connection.Disconnect;
//asender.Connection.Socket.CloseGracefully;
except end;
end;

Das SendCmd war ein Hilfloser Versuch, dem Client noch einen Grund mit auf den Weg zu geben, der kommt aber nicht an. Darunter zwei meiner Versuche, die Verbindung zu beenden.

Bei allen Versuchen kommt erst eine Zugriffverletzung und dann "Zugriff verweigert"

Jemand eine Idee dazu?

Danke im voraus.

lg
Karsten
  Mit Zitat antworten Zitat