Autor Beitrag
Radioactive
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179

Win 98, Win XP Home SP2
D3 Prof, D7 Pers, D2005 Pers
BeitragVerfasst: Sa 25.06.05 11:56 
Hi!
Ich benutze Indy (wie man sehen kann) und die IdIcmpClient-Komponente. Ich will damit überprüfen, ob Hosts online sind. Leider liefert mir der Ping unsinnige Ergebnisse, es sind alle Hosts online, obwohl manchen eigentlich offline sein sollten. Vorallem wenn ich den Ping wiederhole, tritt der Fehler auf. Ich habe auch noch mal das ganze Programm angehängt, wenn der Fehler nicht hier liegen sollte, was ich mir aber nicht vorstellen kann.

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
////////////////////////////////////////////////////////////////////////////////
// Ping

procedure TMyThreads.Ping(FHost: string; FTimeOut: Cardinal);
var
  IdIcmpClient1: TIdIcmpClient;
begin
  IdIcmpClient1 := TIdIcmpClient.Create;
  try
    IdIcmpClient1.Host := FHost;
    IdIcmpClient1.ReceiveTimeout := FTimeOut;

    // Versuchen, den Host anzupingen
    IdIcmpClient1.Ping;

    // Wie man sieht, bin ich hier schon verzweifelt...
    //if IdIcmpClient1.ReplyStatus.ReplyStatusType <> rsTimeout then
    //if IdIcmpClient1.ReplyStatus.MsRoundTripTime < FTimeOut-100 then
    //if not IdIcmpClient1.Receive(FTimeOut) = rsTimeOut then
    //if IdIcmpClient1.ReplyStatus.BytesReceived > 0 then
    //if IdIcmpClient1.Receive(FTimeOut).ReplyStatusType = rsEcho then
    if IdIcmpClient1.ReplyStatus.ReplyStatusType <> rsEcho then
      FStatus := 'Offline' else
      FStatus := 'Online (' +
        IntToStr(IdIcmpClient1.ReplyStatus.MsRoundTripTime) + 'ms)';

    // Die Anzeige der MainForm aktualisieren
    Synchronize(UpdateLVCaption);
  finally
    IdIcmpClient1.Free;
  end;
end;


Gruß,
Einloggen, um Attachments anzusehen!
_________________
Radioactive
"Wer scrollt, verliert!" Matthias Stein, Informatiklehrer am GG
Radioactive Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179

Win 98, Win XP Home SP2
D3 Prof, D7 Pers, D2005 Pers
BeitragVerfasst: So 26.06.05 09:45 
Also ich weiß jetzt wenigstens, warum immer alle Hosts online sind: Mein Router antwortet mir und die Antwort schein rsEcho zu sein. Warum macht er das? Die Antwort müsste doch eigentlich nicht rsEcho sein!? Wie kann ich die Antwort des Routers genauer auswerten?

_________________
Radioactive
"Wer scrollt, verliert!" Matthias Stein, Informatiklehrer am GG
wolke
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 240



BeitragVerfasst: So 26.06.05 12:01 
kann dir nur sagen: bei mir funktioniert es für lokale adressen - bei internetadressen hängt er bei mir, status "Überprüfung läuft". kann aber auch an meiner firewall liegen...
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Di 28.06.05 01:19 
guck dir mal meine api-ping unit an (Suche in: Delphi-Forum, Delphi-Library API PING, ziemlich unten)
sollte damit funktionieren, falls nicht gibts herstellersupport :mrgreen:

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...
sango
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 236

WinXP Home
Delphi 2005 Pro
BeitragVerfasst: Di 28.06.05 01:35 
hab dein programm probiert, sieht ja ganz nett aus, jedoch bekamm ich bei dem versuch www.sango.de zu pingen ne fehlermeldung. ohne text, also nur eine lange msg box. musste mit kill dem spuck ein ende setzen.
was mir auch aufgefallen ist, wenn du nen standard vorgibst so wie bei dir 192.168.2.1, wär es da nicht besser als standard den "standard" zu nehmen? okay ich hab zuhause auch 192.168.2.xx aber ich glaub die meisten haben 1.xx bzw man fängt ja bei 1 an, im normalfall.
retnyg
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2754

SNES, GB, GBA, CPC, A500, 486/66, P4/3.0HT: NintendOS, AmigaOS, DoS
Delphi 5, Delphi 7
BeitragVerfasst: Di 28.06.05 01:42 
user profile iconsango hat folgendes geschrieben:
hab dein programm probiert, sieht ja ganz nett aus, jedoch bekamm ich bei dem versuch www.sango.de zu pingen ne fehlermeldung. ohne text, also nur eine lange msg box. musste mit kill dem spuck ein ende setzen.
was mir auch aufgefallen ist, wenn du nen standard vorgibst so wie bei dir 192.168.2.1, wär es da nicht besser als standard den "standard" zu nehmen? okay ich hab zuhause auch 192.168.2.xx aber ich glaub die meisten haben 1.xx bzw man fängt ja bei 1 an, im normalfall.


poste bitte fragen, die sich auf mein programm beziehen im entsprechenden thread.
Zitat:
bekamm ich bei dem versuch www.sango.de zu pingen ne fehlermeldung. ohne text, also nur eine lange msg box.

welche funktion hast du denn verwendet ?
Zitat:
musste mit kill dem spuck ein ende setzen.
ein druck auf space oder return hätte es vermutlich auch getan...
Zitat:
okay ich hab zuhause auch 192.168.2.xx aber ich glaub die meisten haben 1.xx bzw man fängt ja bei 1 an, im normalfall.

am üblichsten ist wahrscheinlich 192.168.0.x aber soll ja nur n democode sein ^^

// edit: wie sich grade rausstellt hat bezog sich die meldung auf ein andres programm (keines von mir)

_________________
es gibt leute, die sind genetisch nicht zum programmieren geschaffen.
in der regel haben diese leute die regel...