Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Prüfen ob Verbindung zu FTP-Server besteht

  Alt 30. Okt 2009, 00:45
Manche FTP-Server trennen die Verbindung falls für eine gewisse Zeit keine Aktivität festgestellt wird.
Um das zu verhindern muss in regelmässigen Abständen das NOOP-Kommando gesendet werden, damit der Server mitbekommt,
dass der Client noch am Leben ist.
NOOP = No Operation
Man braucht also einen Timer der z.B. alle 60s das NOOP-Kommando absendet.
Bei der WinInet-API sieht das ungefähr so aus:
Delphi-Quellcode:
procedure TInetFTP.NOOP;
begin
  if not FtpCommand(hConnect,False,FTP_TRANSFER_TYPE_BINARY,PChar('NOOP'),0,nil) then
  begin
    raise Exception.Create(SysErrorMessage(GetLastError()));
  end;
end;
fork me on Github
  Mit Zitat antworten Zitat