Pingowanie

0

Witam. Jak napisać program który będzie pingował po kolei kilka adresów ip ?? albo gdzie są o tym jakieś artukuły ?? CHodzi o to, że jestem w sieci (około 100 osób) i chce sprawdzić ile ludzi aktualnie jest podłączonych.

0

Trzybobry!

Popelnilem taki program. Nie jest dopracowany, ale jest funkcjonalny. Wykorzystuje komponenty ICS (Ping). Jak chcesz zrodla mail me.

Generalnie - pinguj w petli (to oczywiste). IP do pingowania - petelka (dla 2 ostatnich oktetow IP aaa.bbb.->>ccc.->>ddd, of course moze byc i dla wszystkich).

Nie mam pod reka zrodel, wiec ich nie umieszcze. Jakby co: [email protected].

Pozdrawiam[cya]!!

DOPISANE

Co do petli dla oktetow IP - zakres zdefiniuj poprzez SpinEdit'y. Petla bedzie chodzic do zadanej wartosci. To dziala, ale jest wolne...

Maila masz... [cya]

DOPISANE_2

Moj kod w porownaniu z ponizszym jest tak prymitywny, ze lepiej skorzystaj z tego lofix'a... Tak czy siak wysle.

DOPISANE_3

Kod lofix'a (z calym szacunkiem dla niego) nie pinguje paru adresow IP, ale jeden. Pytanie bylo o pingowanie kilku po kolei.

0

Troszke kodu (TPing ICS)
(procedury komponentu TPing)

Status = TMemo
EdtHost = Tedit

//Pobranie wartości z TEdit
procedure TMainfrm.UstawParametry;
begin
Ping.Address:=EdtHost.Text;
Ping.Size:=StrToInt(EdtSize.Text);
Ping.TTL:=StrToInt(EdtTTL.text);
Ping.Timeout:=StrToInt(EdtTimeOut.text);
end;

procedure TMainfrm.PingDnsLookupDone(Sender: TObject; Error: Word);
begin
if Error 0 then begin
Status.Lines.Add('Host nieznany + EdtHost.Text +');
Exit;
end;

Status.Lines.Add('Host ` + EdtHost.Text + ` jest ' + Ping.DnsResult);
Ping.Address := Ping.DnsResult;
Ping.Ping;

end;

procedure TMainfrm.PingEchoReply(Sender, Icmp: TObject; Error: Integer);
begin
if Error = 0 then
Status.Lines.Add('Nie moge spingować hosta (' + Ping.HostIP + ') : ' +
Ping.ErrorString)
else
Status.Lines.Add('Odebrano ' + IntToStr(Ping.Reply.DataSize) +
' bajtów od ' + Ping.HostIP +
' w ' + IntToStr(Ping.Reply.RTT) + ' msecs');
Status.Lines.Add('_______________________________________')
end;

procedure TMainfrm.PingEchoRequest(Sender, Icmp: TObject);
begin
Status.Lines.Add('Wysłano ' + IntToStr(Ping.Size) + ' bajtów do ' +
Ping.HostName + ' (' + Ping.HostIP + ')');
Status.Lines.Add('------')
end;

0

A skąd moge ściągnąć ten komponent ICS ?? W dziale Komponenty jest ale do delphi 1,2,3 a gdzie znajdę do 6 ???

0

A skąd moge ściągnąć ten komponent ICS ?? W dziale Komponenty jest ale do delphi 1,2,3 a gdzie znajdę do 6 ???

http://www.overbyte.be

1 użytkowników online, w tym zalogowanych: 0, gości: 1