Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdFTP - PORT wird nicht richtig übergeben (https://www.delphipraxis.net/153870-idftp-port-wird-nicht-richtig-uebergeben.html)

T.E. 18. Aug 2010 13:42

IdFTP - PORT wird nicht richtig übergeben
 
Moin moin liebe Community,

ich habe ein Problem mit den Indys und FTP bzw. genauer gesagt FXP.
Und zwar geht es darum, das ich an einem Tool für FXP (File Exchange Protocol // Server To Server Transfers) Transfers arbeite.

Nun hänge ich gerade an dem Punkt des Transfers:
und zwar habe ich die Verbindung hergestellt und dann folgenden - zunächst - Hardcode ausgeführt:
Delphi-Quellcode:
FTPSrv_1.sendcmd('PASV');

  FTPSrv_2.sendcmd('PORT ' + Trim(FTPSrv_1.lastcmdresult.text.Text));

  FTPSrv_2.sendcmd('STOR ' + 'xp_win.iso');

  FTPSrv_1.sendcmd('RETR ' + 'xp_win.iso');

  FTPSrv_2.GetResponse([110, 125, 150]);
  FTPSrv_1.GetResponse([110, 125, 150]);
  FTPSrv_2.GetResponse([225, 226, 250]);
  FTPSrv_1.GetResponse([225, 226, 250]);
Diesen Code mag der Server nicht, weil in mit dem Befehl
Delphi-Quellcode:
FTPSrv_2.sendcmd('PORT ' + Trim(FTPSrv_1.lastcmdresult.text.Text));
folgender Inhalt gesendet wird:
Code:
Entering Passive Mode (192,168,0,35,4,57).
Was bedeutet der gesendete PORT Befehl sieht so aus:
Code:
PORT Entering Passive Mode (192,168,0,35,4,57).
statt so:
Code:
PORT 192,168,0,35,4,57
Hat jemand einen passenden Lösungsvorschlag für mich?

Besten Dank im voraus :)

rollstuhlfahrer 18. Aug 2010 15:13

AW: IdFTP - PORT wird nicht richtig übergeben
 
prüfe doch, ob in dem String, den du anfügst ein "Entering Passive Mode (" enthalten ist und wenn ja, lasse dir mit Copy(input, 23, MaxInt) nur den hinteren Teil geben. Allerdings musst du noch das letzte Zeichen beseitigen, weil es sonst ein ")" ist.

Bernhard

T.E. 19. Aug 2010 19:41

AW: IdFTP - PORT wird nicht richtig übergeben
 
Hey

vielen Dank! Da hat ich nicht dran gedacht gehabt, hatte es nur mit Delete() versucht und das hat der Compiler geblockt, warum auch immer.

Edit:

Okay jetzt macht der Compiler mich doch verrückt damit:
Code:
length_string := length(port) - 2;
port := Delete(port,length_string,2);
wo liegt da denn bitte ein Fehler? Port ist als String definiert und length_string als integer. Der Compiler meint aber zur Zeile port...
Zitat:

Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'

T.E. 19. Aug 2010 20:34

AW: IdFTP - PORT wird nicht richtig übergeben
 
Zitat:

Zitat von T.E. (Beitrag 1043542)
Hey

vielen Dank! Da hat ich nicht dran gedacht gehabt, hatte es nur mit Delete() versucht und das hat der Compiler geblockt, warum auch immer.

Edit:

Okay jetzt macht der Compiler mich doch verrückt damit:
Code:
length_string := length(port) - 2;
port := Delete(port,length_string,2);
wo liegt da denn bitte ein Fehler? Port ist als String definiert und length_string als integer. Der Compiler meint aber zur Zeile port...
Zitat:

Inkompatible Typen: 'string' und 'procedure, untyped pointer or untyped parameter'

Autsch....*sich selbst in den allerwertesten beiß...*

klar Fehler gefunden ^^

Mercy


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz