Avatar billede juzas Mester
17. juli 2013 - 15:39 Der er 10 kommentarer

Indy FTP Download at 1GB fil???

Jeg har en '.exe' fil på en FTP server som fylder 1GB, når jeg prøver at hente den kommer jeg kun til 687MB, så kommer den ikke videre. Sidst kom den op med en besked som hedder: "socket error #10054 connection reset by peer" hvad kan jeg gøre for at få hentet hele filen uden fejl?

Den kode som jeg bruger er:

try
  FTP.Disconnect;
  FTP.Host := edit1.Text ;
  FTP.Username := edit2.Text ;
  FTP.Password := edit3.Text ;
  FTP.connect;
  try

    Optiens.FTP.Get('Setup.exe', ExtractFilePath(Application.Exename) + ''Setup.exe');
   
  except
    Download.Label4.Caption := 'Tilslutnings fejl';
    Download.Label3.Font.Color := clRed;

end;
Avatar billede kroning Nybegynder
17. juli 2013 - 16:33 #1
Hvor lang tid går der med at hente de 687MB ?
Avatar billede juzas Mester
17. juli 2013 - 16:45 #2
ca 12 min :)
Avatar billede kroning Nybegynder
17. juli 2013 - 16:47 #3
k, så er det nok ikke et timeout problem.
Avatar billede kgkg Nybegynder
17. juli 2013 - 17:01 #4
Avatar billede kgkg Nybegynder
17. juli 2013 - 17:10 #5
Er det IdFtp komponenten du bruger?

Andre som har dette problem, foreslår at ens connection sættes i pasive mode.
Avatar billede juzas Mester
17. juli 2013 - 17:27 #6
Ja det er det. :)
Hva mener du med det?
Avatar billede kgkg Nybegynder
17. juli 2013 - 17:34 #7
Er det vedr. pasive mode du ikke ved hvad jeg mener ?
Avatar billede juzas Mester
17. juli 2013 - 17:49 #8
Ja, har ikke hørt om det før :)
Avatar billede kgkg Nybegynder
17. juli 2013 - 19:28 #9
Hvis du klikker på din IdFtp komponent og derefter kigger i Object Inspectoren, så vil du se at der er en egenskab, som kaldes Passive. Denne står som standard til False, prøv at sætte den = True. og prøv at lave din download igen og se om den stadigvæk fejler.

Dette er et copy/paste fra Online hjælpen (Indy Socket Version 10.1.1)


Declaration
property Passive: boolean;
Summary
Indicates the FTP data channel connection method.
Description
Passive is a Boolean property that indicates how the data channel connection for a File Transfer Protocol session is established.
Passive is used during processing for both the Get and the Put methods to determine the FTP protocol exchange required to establish the data channel for the data transfer operation.

When Passive is True, the FTP server will listen for the FTP client to connect on a data port specified in the response to the FTP PASV or EPSV commands. EPSV is used when UsingExtDataPort contains True.

Active connections (or when Passive is set to False) indicates that the FTP server will open the connection for the data channel. In other words, the FTP client will listen for the server to open a connection for the data channel. The server is notified using the FTP PORT or EPRT commands. EPRT is used when UsingExtDataPort contains True.

Please note that some proxy configurations require PORT transfers, and some FTP servers do not support PASV transfers. Consult your network administrator for details on using FTP in your network environment.

The default value for Passive is Id_TIdFTP_Passive, as assigned during initialization of the component. Passive is also reset to the default value in ReInitialize.
Avatar billede MadsHaupt Juniormester
18. juli 2013 - 11:19 #10
Du kan prøve med en webclient.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester