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