Einzelnen Beitrag anzeigen

Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

IndyIcmp Turbo Delphi Explorer und der Serverping

  Alt 3. Okt 2007, 16:21
Hi Leute,

Das Thema pingen wurde ja schon 1000 fach behandelt. Ich möchte eine Mini-Anwendung schreiben welche alle 5 Minuten einen Linux Server anpingen soll. Bei nicht erreichen wird ein AlarmSound gespielt.

Zum Pingen nutze ich folgenden Code:

Delphi-Quellcode:
procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
  var erfolg:Boolean;
  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]));

                             //if AReplyStatus.ReplyStatusType = rsEcho then ShowMessage(AReplyStatus.FromIpAddress+' hat geantwortet');
{  erfolg := AReplyStatus.ReplyStatusType = rsEcho;
  if erfolg=true then
  showmessage('OK')
  else
  showmessage('DOWN');
  }

end;

//Aufruf
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;

begin
  IdIcmpClient1.Host := '88.198.25.xxx';
  for i := 1 to 4 do
 begin
    idicmpclient1.ping;
  Application.ProcessMessages;
 end;


end;
Ich habe schon einige Varianten und Möglichkeiten getestet welche ich der Suchfunktion entnommen habe.

Ich bin als Administrator unter Vista 32 Bit angemeldet, die exe wird auch mit Adminrechten ausgeführt. Pingen unter cmd geht, nur meine Anwendung liefert nix.

0 bytes from 0.0.0.0: icmp_seq 3491 ttl=0 time=10ms
0 bytes from 0.0.0.0: icmp_seq 3491 ttl=0 time=10ms
0 bytes from 0.0.0.0: icmp_seq 3491 ttl=0 time=10ms
0 bytes from 0.0.0.0: icmp_seq 3491 ttl=0 time=10ms

IdIcmpClient1
Host: 88.198.25.xxx
IPVersion: Id_IPv4
Name: IdIcmpClient1
PacketSize: 1024
Port 0
Protocol 1
ProtocolIpv6: 58
ReceiveTimeout: 10
Tag: 0

Was mache ich da wieder falsch?
  Mit Zitat antworten Zitat