Entwickler-Ecke

Internet / Netzwerk - IdIcmpClient und eingeschränkte Benutzerrechte


DELPHIn - Mi 09.04.03 14:24
Titel: IdIcmpClient und eingeschränkte Benutzerrechte
Hallo,

ich habe da ein Problem mit einer Indy-Compo - IdIcmpClient.
Mit ihr wollte ich eine Ping-Funktion schreiben, es klappt auch alles.
Delphi 6 kompiliert ohne Fehler, das Programm läuft auch, nur wenn ich das fertige Programm dann als Benutzer starten will und den Ping absetze, kommt ein Zugriffsfehler (Socketfehler) und zwar hier:

Quelltext
1:
IdIcmpClient.Ping;                    

Nur wenn ich das Prog als Admin ausführe geht es problemlos.

Ist das normal? Den Fehler kann ich zwar abfangen, als User muss ich doch aber auch Zugriff auf diese Funktion haben können. Ein 'normaler' Ping funzt schliesslich auch immer.

Hier mal der Code:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
  IdIcmpClient.Host := s;
  IdIcmpClient.Ping;
  case IdIcmpClient.ReplyStatus.ReplyStatusType of
    rsEcho:
      begin
        ShowMessage(format('Antwort von Host %s in %d Millisekunden.',
        [IdIcmpClient.ReplyStatus.FromIpAddress,
        IdIcmpClient.ReplyStatus.MsRoundTripTime]));
      end;
    rsError:
      ShowMessage('Unbekannter Fehler.');
    rsTimeOut:
      ShowMessage('Der Server hat innerhalb von 5 Sekunden nicht geantwortet.');
    rsErrorUnreachable:
      ShowMessage(format('Host %s meldet, dass der Server nicht erreichbar ist.',
      [IdIcmpClient.ReplyStatus.FromIpAddress]));
    rsErrorTTLExceeded:
      ShowMessage(format('Hope %d %s: TTL expired.',
      [IdIcmpClient.TTL, IdIcmpClient.ReplyStatus.FromIpAddress]));
  end;


Apropo: Welchen Port soll ich benutzen? Mir will gerade nicht der richtige einfallen! Momentan nehme ich 80 (http), liegt es vielleicht daran?
Und wo ich gerade dabei bin: Was mache ich wenn das Prog hinter einem Proxy mit Autentifizierung läuft, kann ich der Anfrage Username und Passwort mitgeben?

Danke


DELPHIn - Di 15.04.03 13:01

Weiss niemand eine Lösung oder gibt es ganz einfach keine :cry: ?