Pingbefehl bei Delphi/Pascal/Basic/C++

Ich brauche einen Befehl mit dem ich checken kann ob ein PC im Net alive oder nicht alive ist... ich brauche diesen Befehl für eine der oben aufgeführten Sprachen... Das Problem bei Delphi ist das ich die Proffessional hab... bei C++ nutze ich DEV C++ von Bloodshed...
Ich danke im Vorraus
 
Willst du einen Rechner im Internet anpingen oder einfach nur wissen ob dein rechner im Moment mit dem Internet bzw Netzwerk verbunden ist ?

Zum anpingen kannst du es auch so machen. Der Tip stammt aus dem
EDH2000 (Easy Delphi Helper) bekommt man unter http://www.delphi-treff.de ist sehr nützlich und kostenlos.

Wähle aus der Komponentenseite 'IndyClients' die Komponente IdIcmpClient aus und lege sie aufs Formular.

Erstelle einen OnReply-Eventhandler und schreibe folgendes in die Ereignis-Procedure:
Code:
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;
Du kannst dann folgendermaßen einen Server anpingen:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  IdIcmpClient1.Host:='www.delphi-treff.de';
  for i := 1 to 4 do
  begin
    IdIcmpClient1.Ping;
    Application.ProcessMessages;
  end;
end;
Die Eigenschaft 'Host' enthält den Server. Die Methode 'Ping' führt den Ping aus. Die Ergebnisse werden der Listbox hinzugefügt. Die einzelnen Ergbnisse werden dem Parameter AReplyStatus im Ereignis OnReply übergeben.

Dieser Tipp basiert auf der Demo PingGUI, welche den Demos der Indy-Komponenten beiliegt. Downloaden kann man sie auf der Seite http://www.nevrona.com/indy
 
hm...
ist zwar nicht "genau" das, was du suchst, aber vieleicht hilft dir diese batch datei :)

ping die.ip.adr.esse
pause

..dies als .bat speichern.
 
um Systembefehle in C++ auszuführen gibts die system Funktion (in cstdlib, wenn ich mich nicht irre)
also kannst du mit:
Code:
system("ping IP-Adresse");
den Rechner entsprechend anpingen

Besser kann ich dir im Moment leider nicht helfen.
mfg
Nornagest
 
h3h3, das problem mit "ping" unter C hatte ich auch schon. unter C nen anständigen ping zu organisieren also einen der die pingtimes schön als rückgabe wert liefert etc (nix mit system() <-- is übrigens in der stdlib.h) is eine echt komplexe angelegenheit. ich hatte damal eine header file gefunden die einem für diese zwecke ein paar schöne befehle zur verfügung stellt. war jedoch für *nix, aber ich denke für win sollte es sowas auch geben. google einfach mal etwas rum ;)
 
Zurück
Oben