AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IP Scanner Problem

Ein Thema von Van HelF · begonnen am 28. Apr 2007 · letzter Beitrag vom 20. Mai 2007
Antwort Antwort
Van HelF

Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
 
Delphi 7 Personal
 
#1

IP Scanner Problem

  Alt 28. Apr 2007, 11:30
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 ?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: IP Scanner pProblem

  Alt 28. Apr 2007, 11:34
Laß mal das Application.PrecessMessages; testweise weg
Markus Kinzler
  Mit Zitat antworten Zitat
Van HelF

Registriert seit: 24. Okt 2005
Ort: Karlsbrunn
195 Beiträge
 
Delphi 7 Personal
 
#3

Re: IP Scanner pProblem

  Alt 28. Apr 2007, 12:15
Zitat von mkinzler:
Laß mal das Application.PrecessMessages; testweise weg
bringt leider nichts, dass programm hängt dann nur und wenn die schleife durchgelaufen ist, erscheinen alle einträge auf einmal.
  Mit Zitat antworten Zitat
slemke76

Registriert seit: 29. Mär 2005
Ort: Quakenbrück
146 Beiträge
 
#4

Re: IP Scanner Problem

  Alt 20. Mai 2007, 17:30
Hi !

kann es sein, dass es so lange dauert, weil die Antwort des "gegenübers" einen Moment benötigt ?
Wenn du einen Scanner programmieren willst - wahrscheinlich also mehrere Hosts durchpingen willst - wäre der Einsatz von einem Thread pro Host sinnvoll. So kannst du den mehrere Pings an verschiedene Hosts gleichzeitig bzw. kurz zeitversetzt starten. Aber Achtung: Nicht zu viele auf einmal, sonst macht XP dicht (Limit der gleichzeitigen Verbindugen erreicht).

Zu Threads gibt es hier in der DP ein schönes Tutorial: Threads mit Delphi

Ich habe mit der gleichen Materie auch schonmal rumgespielt und mit den Indy-Kompos Probleme gehabt (in Verbindung mit Threads). Ich weiss aber nicht mehr, ob ich auch probiert habe, auf die damals aktuelle Indy-Version zu updaten ? Ich habe dann die ICS Komponenten verwendet: ICS-Kompos

Wenn du mit Threads weitermachen solltest, wäre ein wenig Feedback vor dem Hintergrund nett.

Grüße,
Sebastian
  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 08:49 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