![]() |
Delphi-Version: XE5
FTP Fehlermeldung vom Server beim Client (indy)
Hallo Liebe Forum,
Ich wollte fragen, ob es möglich ist eine Fehlermeldung von einem FTP Server(Indy FTP Server) zu einen FTP-Client (Indy) zu senden? Mit freundlichen Grüßen Golli |
AW: FTP Fehlermeldung vom Server beim Client (indy)
FTP verwendet synchrone Kommunikation: der Server erhält eine Anfrage vom Client und beantwortet diese. Eine Fehlermeldung zu senden ist im Protokoll also nur als Antwort auf eine Client-Anfrage vorgesehen.
Der Server kann also nicht den ersten Schritt tun und 'wenn er will' eine Fehlermeldung senden. |
AW: FTP Fehlermeldung vom Server beim Client (indy)
Okay
Kann ich den Client aber z.B. Eine "MessegaBox" Schicken wenn er versucht sich in den Server einzuloggen? MFG Golli |
AW: FTP Fehlermeldung vom Server beim Client (indy)
|
AW: FTP Fehlermeldung vom Server beim Client (indy)
Hey
irgendwie hilft mir das nicht weiter. Vielleicht kannst du mir ja an anstos geben. Ich will versuchen wenn der Client sich einloggt und dabei ein Fehler auftritt der Client diese Meldung bekommt die ich ihm geben will. MFG Golli |
AW: FTP Fehlermeldung vom Server beim Client (indy)
Zitat:
In Indy 10.6 enthält die TIdFTPServer Klasse ein Event namens OnLoginFailureBanner, es wird bei einer erfolglosen Anmeldung indirekt aus der Methode DisconUser aufgerufen:
Delphi-Quellcode:
Damit sollte es gehen, man muss der Komponente einen entsprechenden Ereignishandler für OnLoginFailureBanner zuweisen.
procedure TIdFTPServer.DisconUser(ASender: TIdCommand);
begin ASender.Disconnect := True; ASender.Reply.SetReply(421, RSFTPClosingConnection); if Assigned(OnLoginFailureBanner) then begin OnLoginFailureBanner(TIdFTPServerContext(ASender.Context), ASender.Reply); ASender.Reply.SetReply(421, ASender.Reply.Text.Text); end; end; OnLoginFailureBanner ist vom Typ TIdOnBanner:
Delphi-Quellcode:
TIdOnBanner = procedure(ASender: TIdFTPServerContext; AGreeting : TIdReply) of object;
Daher würde der Eventhandler so oder ähnlich aussehen:
Delphi-Quellcode:
procedure IdFTServer1.OnLoginFailureBanner(ASender: TIdFTPServerContext; AGreeting : TIdReply);
begin AGreeting.Text.Text := 'Die Anmeldung war leider nicht erfolgreich. Das tut uns leid.'; end; |
AW: FTP Fehlermeldung vom Server beim Client (indy)
Okay
Vielen Dank werde es mal ausprobieren. MFG Golli |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz