AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zu mehreren FTP gleichzeitig connecten mit Threads
Thema durchsuchen
Ansicht
Themen-Optionen

Zu mehreren FTP gleichzeitig connecten mit Threads

Ein Thema von Stacker · begonnen am 23. Feb 2007 · letzter Beitrag vom 23. Feb 2007
Antwort Antwort
Stacker

Registriert seit: 12. Okt 2006
5 Beiträge
 
#1

Zu mehreren FTP gleichzeitig connecten mit Threads

  Alt 23. Feb 2007, 17:01
Hallo folgendes Problem.

ich bin dabei mir eine FTP Suchmaschine zu basteln die zu mehreren FTP's gleichzeitig connected und diese durchsucht. Die Anzahl der gleichzeitigen Connection ist begrenzt (run_max).

Delphi-Quellcode:
procedure Tform1.runthread;
var Th: TMyThread;
  begin
  Th := TMyThread.Create(true);
  Th.FreeOnTerminate := True;
  Th.PB := idftp1;
  TH.the_host:= serverlist.Items[sev].Caption; //HOST
  Th.the_user := serverlist.Items[sev].SubItems[0]; //USER
  TH.the_pw:= serverlist.Items[sev].SubItems[1]; //Password
  Th.Resume;
  end;

procedure TMyThread.Execute;
begin
inc(run);
  while not Terminated do
  begin
    Synchronize(VCLSync);
    Sleep(3);
  end;
dec(run);
if sev<form1.serverlist.items.count then
begin
form1.runthread;
inc(sev);
end;
end;

procedure TMyThread.VCLSync;
begin
 PB.Host:= the_host;
 PB.Username:= the_user;
 PB.Password:= the_pw;
 PB.Connect(true);
 if PB.Connected then
 begin
  form1.readfiles('/');
  PB.Disconnect;
  end;
 Terminate;
end;
Also "runthread" ausführen mit einer for schleife und jeweils anderem Host und Login geht nicht.

Delphi-Quellcode:
procedure TForm1.Start(Sender: TObject);
var
  I: Integer;
begin
sev:=0;
run:=0;
if (run_max>=serverlist.items.count) then
for I := 0 to serverlist.items.count - 1 do
begin
runthread;
inc(sev);
end
else
for I := 0 to run_max - 1 do
begin
runthread;
inc(sev);
end;
end;
Wie kann ich das machen, dass ich mehrere (run_max) Threads offen habe die alle einen anderen Server durchsuchen? Muss ich für jede connection eine neue IDFTP Komponente nehmen?

Gruß Stacker
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Zu mehreren FTP gleichzeitig connecten mit Threads

  Alt 23. Feb 2007, 17:33
ja musst du denn während das eine idftp beschäftigt ist kannst du es ja nicht aus dem anderen Thread gleichzeitig nutzen (ist ja schließlich beschäftigt). Zudem solltest du das TIdFtp im Thread erzeugen und nicht in einem anderen Thread (Hauptthread) wo es am ende gar nicht läuft.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 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