![]() |
IdICMPClient.Ping
Liste der Anhänge anzeigen (Anzahl: 1)
Was mache ich hier falsch?
Delphi-Quellcode:
Ist ein Beispiel aus dem Netz. Ich erhalte dies zurück:
unit Unit3;
interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, IdIcmpClient, IdBaseComponent, IdComponent, IdRawBase, IdRawClient, Vcl.StdCtrls; type TForm3 = class(TForm) Button1: TButton; IdIcmpClient: TIdIcmpClient; procedure IdIcmpClientReply(ASender: TComponent; const AReplyStatus: TReplyStatus); procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form3: TForm3; implementation {$R *.dfm} procedure TForm3.Button1Click(Sender: TObject); begin IdICMPClient.ReceiveTimeout := 5000; // Timeout 5000 ms //IdICMPClient.Host := edtAddress.Text; IdICMPClient.Host := '172.17.1.130'; IdICMPClient.Ping(); end; procedure TForm3.IdIcmpClientReply(ASender: TComponent; const AReplyStatus: TReplyStatus); begin ShowMessage('Received ' + IntToStr(AReplyStatus.BytesReceived) + ' ' + 'Bytes from ' + AReplyStatus.FromIpAddress + ' ' + 'after ' + IntToStr(AReplyStatus.MsRoundTripTime) + ' ms.'); end; end. Anhang 51576 |
AW: IdICMPClient.Ping
Hat das Benutzerkonto, unter dem das Programm, läuft Admin-Rechte?
![]() ![]() Oh - sehe dass eine Exception ausgelöst würde wenn die Admin-Rechte nicht vorhanden sind (Access Denied Error (Socket Error #10013). Es liegt daher wahrscheinlich nicht daran. |
AW: IdICMPClient.Ping
Mal was ganz anderes: Windows Firewall??
Sind ein- und ausgehende Verbindungen für ICMP erlaubt? Grüße Steku |
AW: IdICMPClient.Ping
Ja sind sie.
Wenn ich das Windows Ping nutze geht es auch. |
AW: IdICMPClient.Ping
Zitat:
|
AW: IdICMPClient.Ping
Hab das jetzt au mehreren Rechnern getestet. Funktioniert nirgends.
Was mich auch stutzig macht ist die Tatsache das als IP 0.0.0.0 zurück kommt. |
AW: IdICMPClient.Ping
Bug in der verwendeten Iny Version oder ist es die aktuellste (von indy.fulgan.com oder aus dem Repository)?
|
AW: IdICMPClient.Ping
Hmm..
Hast Du denn auch mal das AReplyStatus ausgewertet? Wenn ich deine IP ('172.17.1.130') verwende erhalte ich ein TimeOut als AReplyStatus.ReplyStatusType. Dann sind die Werte in deinem ShowMessage halt leer... Teste mal mit einem anderen Host z.B. 'google.de' Beispiel für Status-Auswertung: ![]() |
AW: IdICMPClient.Ping
Zitat:
Hmmmm |
AW: IdICMPClient.Ping
Was verbirgt sich hinter 172.17.1.130? Bei einem fremden Rechner, weißt du nicht wie er konfiguriert ist.
|
AW: IdICMPClient.Ping
Dahinter verbirgt sich ein ein XP Rechner auf dem die Bedienoberfläche (Selbstprogrammiert) einer CNC Maschine läuft. Der ist mit einigen anderen in einem eigenen Netzwerk auf das ich von hier auch zugreifen kann.
Da hab ich bisher nie Probleme damit gehabt. Er lässt sich auch ohne weiteres anpingen, nur eben mit dem kleinen Progrämmchen nicht. Edit: Kommando zurück... Geht mit dem Windows Ping auch nicht. :pale: Ich kann mich mit Telnet zwar verbinden, dann aber mit Portangabe. Muss das mal ergründen, das ging schon mal. Edit2: Also bei anderen Rechnern funktioniert es. Was mich nur wundert ist das
Delphi-Quellcode:
immer 0 zurück liefert.
AReplyStatus.BytesReceived
|
AW: IdICMPClient.Ping
Hallo Holger,
am XP-Rechner: Netzwerkverbindungen -> Windows-Firewalleinstellungen ändern -> Dialog Windows-Firewall -> Reiter Erweitert -> Abschnitt ICMP -> Button Einstellungen -> Dialog ICMP Einstellungen -> Häkchen bei Eingehende Echoanforderungen zulassen setzen dann funktioniert es auch mit dem XP-Rechner. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz