Sleepwalker Цитата: ну. Ничего сказать не могу, надо брать проект и тестировать. А чего компонент idFTp не захотел взять? не проще будет?
так фактически это весь "проект"
только еще мемка есть в которой 2 тестовых фтп забито. могу на почту закинуть.
в idFTp не нашел возможность отключения блокирующего режима, да и не уверен я в корректности его захода
Добавлено: попытался на idFTp
Код: unit main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdFTP, StdCtrls, ExtCtrls, IdAntiFreezeBase, IdAntiFreeze;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
Memo2: TMemo;
IdFTP1: TIdFTP;
Timer1: TTimer;
Label1: TLabel;
Memo3: TMemo;
IdAntiFreeze1: TIdAntiFreeze;
procedure Button1Click(Sender: TObject);
procedure IdFTP1AfterClientLogin(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
T_me: integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
I: Integer;
J: Integer;
begin
Memo1.Clear;
Memo3.Clear;
Memo3.Lines.Add('Start: ' + TimeToStr(Time));
T_me := 0;
Timer1.Enabled := True;
for J := 1 to 255 do // Iterate
begin
for I := 0 to memo2.Lines.Count - 1 do // Iterate
begin
with TidFTP.Create(self) do
begin
try
Name := 'FTP_' + IntToStr(J) + '_' + IntToStr(I);
Host := memo2.Lines[I]+IntToStr(J);
Port := 21;
username := 'anonymous';
password := 'FTP_bot';
OnAfterClientLogin := IdFTP1AfterClientLogin;
try
Memo1.Lines.Add(TimeToStr(Time) + ' : ' + Host + ' Try connected');
Connect(true, 150);
except
// Memo1.Lines.Add(TimeToStr(Time) + ' : ' + Host + ' Error');
end;
finally
Destroy;
end;
end
end; // for
end; // for
Timer1.Enabled := False;
Memo3.Lines.Add('Stop: ' + TimeToStr(Time));
Memo3.Lines.Add('Time (sec): ' + IntToStr(T_me));
end;
procedure TForm1.IdFTP1AfterClientLogin(Sender: TObject);
begin
Memo1.Lines.Add((Sender as TidFTP).Host + ': Anonym') ;
(Sender as TidFTP).Disconnect;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo2.Clear;
Memo2.Lines.Add('10.130.2.');
Memo2.Lines.Add('10.130.4.');
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
T_me := T_me + 1;
end;
end.