Hallo,
ich möchte gerne einen
IP Scanner programmieren, habe auch schon einige beiträge hier im foum dazu gelesen.
Mein ansatz ist folgender:
Delphi-Quellcode:
procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
const AReplyStatus: TReplyStatus);
var
sTime: String;
begin
if (AReplyStatus.MsRoundTripTime = 0) then
sTime := '<1'
else
sTime := '=';
Listbox1.Items.Add(Format('%d bytes from %s: icmp_seq=%d ttl=%d time%s%d ms',
[AReplyStatus.BytesReceived,
AReplyStatus.FromIpAddress,
AReplyStatus.SequenceId,
AReplyStatus.TimeToLive,
sTime,
AReplyStatus.MsRoundTripTime]));
end;
procedure clients_erzeugen;
var cl:array[0..5] of TIdIcmpClient;
i:integer;
begin
for i := 0 to 5 do
begin
cl[i]:=TIdIcmpClient.Create(form1);
cl[i].OnReply:=form1.IdIcmpClient1Reply;
cl[i].Host := '192.168.33.'+inttostr(i);
cl[i].Ping();
application.ProcessMessages;
end;
end;
mein problem:
die pinganfragen laufen leider nicht, wie gehofft, schnell hintereinander ab, sondern extrem langsam.
gibt es eine möglichkeit die anfragen, ohne threads parallel, oder zumindest schneller laufen zu lassen ?