![]() |
[gelöst] FXP bzw. SiteToSite Transfer
Hi,
ich habe ein prob. Und zwar mit einem SiteToSite tranfser. Ich lese einfach die Source und fange an zu flashen. Dabei ist es mir egal ob das file schon vorhanden ist oder nicht. Sollte es vorhanden sein braucht garnix zu passieren. Als erstes habe ich Indy10 probiert. Läuft im grunde sehr gut. Aber ist das file vorhanden kommt rückmeldung 553. Wenn das passiert ist kann ich nix mehr machen. Nichtmal mehr die directory einlesen. Da kommen dann leider nur noch exceptions. Leider steht da nicht drin warum und wieso. Dann habe ich mal Clever Internet Suite probiert. Die änderungen sind ja überschaubar. Dort habe ich das selbe problem. Nun zu meiner eigentlichen frage. Muss ich irgendwas Reseten oder sonstwas machen damit es wieder richtig auf die füsse kommt? Oder muss ich wirklich das Object IdFTP bzw. clFtp löschen und neu anlegen??? Da Indy Opensource ist habe ich mal bissl durchgetraced. Soweit ich erkenne konnte liegt es an der rückmeldung 553. Die kennt Indy nicht und wohl auch Clever Internet Suite scheint die nicht zu kennen. Hat jemand eine Idee??? Danke im voraus EDIT: Nun habe ich mal die excetion wie folgt ausgeben.
Delphi-Quellcode:
Da kommt "200 PORT command successful.".... :gruebel:
try
Server.GetList(l,'',True); except on E: Exception do WriteLn(E.Message); end; |
Re: FXP bzw. SiteToSite Transfer
Sooo,
da ich offene Threads hasse, oder wenn einer einfach drunterschreibt "ich habs gefunden, danke" antworte ich mal. Also in dem speziellen fall hilft nur ein abbruchkommando an den server. Das würde dann wie folgt aussehen
Delphi-Quellcode:
ein clftp2.Abort geht nicht.
try
clftp2.FxpGetFile(FName,FName,clftp1); except on E: Exception do begin WriteLn(E.Message); <-- muss nicht sein, ist nur für debug clftp2.SendCommand('ABOR'); <-- danach klappt es wieder. end; end; Gruss EDIT: Irgendwie geht bei mir immer die formatierung vom quelltext flöten. |
Re: [gelöst] FXP bzw. SiteToSite Transfer
Nachtrag:
Ich habe nun ca. 7 Server probiert. Das scheint was zeitkritisch zu sein. Ein sleep(1000) nach dem Command und es lief danach auf allen severn. |
Re: [gelöst] FXP bzw. SiteToSite Transfer
Hallo DelTurbo,
Nachtrag zu den Exceptions, auch wenn schon gelöst. Indy wirft Exception für RFC Result Codes, also nicht nur für Fehler. Beispiel ist z.B. Result Code 213 bei FTP, was als Antwort auf eine erfolgreiche Size Abfrage kommt. Die 200er Result Codes sind eigentlich alles Statusmeldungen, also nur Hinweise. Du kannst die Exception entsprechend behandeln. Beispiel für Size:
Delphi-Quellcode:
Das kannst Du entsprechend für 200 und Deinen Aufruf anpassen. Wichtig ist die absteigende Reihenfolge beim Exceptionhandling, also Basisklassen immer als letztes.
try
Result := IdFTP1.Size(AFileName); except On E: EIdReplyRFCError do begin // rfc return code 213 is the result code for size, // it is not really an RFCError but Indy handles it this way... if E.ErrorCode <> 213 then raise; end; On E: Exception do raise; end; Der Result Code 553 bedeutet "Requested action not taken. File name not allowed.". FlashFXP weist also Deinen Dateinamen ab. Eigentlich sollte der Server noch mehr Feedback in Textform geben. Dieser Text wird von Indy durchgeleitet (im Beispiel wäre das E.Message im EIdReplyRFCError Block). Bei FlashFXP 1.2 gab es bei Fehler 553 früher eine Meldung die so aussah: Zitat:
Zur Clever Internet Suite kann ich leider nichts sagen, das ist mir für bloße Vergleichstests viel zu teuer. Im FlashFXP Support Forum gibt es aber einige Tickets zu FlashFXP 3.5.1 und dem 553 Result, Beispiel: ![]() Die RFC Result Codes für FTP findest Du hier (einfach nach z.B. 200 oder 553 suchen): ![]() Gruß Assertor |
Re: [gelöst] FXP bzw. SiteToSite Transfer
Danke dir Assertor, für den tip mit den excetions,
aber das prob ist, das nach dem "fehlschlag" beim FXPen kein clFtp1.GetList bzw. IdFTP1.List mehr geht. Da "reden" client und server aneinander vorbei. Ich habe auch nix anderes gefunden um es danach wieder auf die füsse zu bekommen. Ausser halt verbindung trennen und neu connecten. Mit dem Abort commando kommt der server wieder zu sich und beide "reden" wieder miteinander. Man müsste sich mal dazwischen klemmen und schauen was da genau passiert. Oder mit z.b. WireShark den datenstrom mitloggen. Wenn ich mal bissl zeit habe oder ich auf weitere probs stosse, dann werde ich das mal machen. Zu den Clever-sachen. Die gibt es umsonst ^^. Allerdings ohne quellcode. Aber dafür ist ja im debugger das CPU-Fenster da :zwinker: |
Re: [gelöst] FXP bzw. SiteToSite Transfer
Hi DelTurbo,
Zitat:
Zitat:
Zitat:
Ach übrigens: Welche Version von FlashFXP ist im Einsatz? In der History steht z.B. zur 3.0.2.1045: Zitat:
|
Re: [gelöst] FXP bzw. SiteToSite Transfer
Also FlashFXP ist die Version 3.6 wohl aktuell.
![]() Diese Clever-Trail ist in der form eingeschränkt das die nur unter der entwicklungs oberfläsche läuft. Ansonsten ist alles vorhanden. Bis auf die Sourcen natürlich.... |
Re: [gelöst] FXP bzw. SiteToSite Transfer
Hi,
leider muss ich hier nochmal "aufmachen". Ich habe nun alles auf indy umgestellt. Nun meine frage: Was muss ich machen wenn der transfer nicht klappt, z.b. weil das file vorhanden ist bzw. ich keine rechte rum schreiben dort habe. Ich bekomme nun nach 2 stunden suchen und machen, Indy nicht dazu das er weiter macht. Dieses ABOR schicken klappt bei Indy leider nicht. Ich hoffe hier kann mir jemand weiterhelfen. Danke im voraus |
Re: [gelöst] FXP bzw. SiteToSite Transfer
Hi,
Zitat:
![]() Was für eine Fehlermeldung bekommst Du denn und wie behandelst Du diese konkret? Gruß Assertor |
Re: [gelöst] FXP bzw. SiteToSite Transfer
Ja das ist blöd gelaufen hier. Ich konnte in der überschrift das [gelöst] nicht rausnehmen. Deswegen habe ich was neues aufgemacht.
Sorry.... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:42 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