Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   IdIcmpClient1Reply (https://www.delphipraxis.net/175144-idicmpclient1reply.html)

Alterauge 2. Jun 2013 10:29

IdIcmpClient1Reply
 
Hallo,
bekomme beim ausführen immer eine Fehlermeldung!

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  IdIcmpClient1.OnReply := IdIcmpClient1Reply;
  Button1.Enabled := False;
  try
    IdIcmpClient1.Host := '192.168.0.110';
    for i := 1 to 4 do
    begin
      IdIcmpClient1.Ping;
      Application.ProcessMessages;
    end;
  finally
    Button1.Enabled := True;
  end;
end;

procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
begin
  if (IdIcmpClient1.ReplyStatus.BytesReceived>0) then
  begin
   Panel1.Color:=clGreen;
   end else
    begin
     Panel1.Color:=clred;
   end;
end;

Fehlermeldung:

Socket Error #10013 Access denied. ???????????????

madtom 2. Jun 2013 11:30

AW: IdIcmpClient1Reply
 
Prüfe mal, ob Du die nötigen Berechtigungen überhaupt besitzt. Siehe auch:

http://msdn.microsoft.com/de-de/libr...(v=vs.85).aspx

für die Beschreibungen der Fehlercodes.

Alterauge 2. Jun 2013 13:08

AW: IdIcmpClient1Reply
 
Hallo,
bin als Administrator Windows 8 angemeldet!

Es wurde versucht, auf eine Weise auf einen Socket zuzugreifen,
die nach den betreffenden Zugriffsberechtigungen untersagt ist! Fehlercode 10013

Seltsam oder? :shock:

Der schöne Günther 2. Jun 2013 14:38

AW: IdIcmpClient1Reply
 
Ich hätte eher getippt, das du kein Binding auf dem gewünschten Port erstellen kannst weil dort schon jemand lauscht? Von ICMP habe ich keine Ahnung, insbesondere nicht, was das .Ping-Kommando konkret tun soll...

mjustin 2. Jun 2013 14:43

AW: IdIcmpClient1Reply
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1217268)
Ich hätte eher getippt, das du kein Binding auf dem gewünschten Port erstellen kannst weil dort schon jemand lauscht? Von ICMP habe ich keine Ahnung, insbesondere nicht, was das .Ping-Kommando konkret tun soll...

Ping sendet ein ICMP Paket an einen Server (sofern die Firewall das zulässt), das dieser dann beantwortet wenn er mag. TIdCmpClient öffnet keinen eigenen Port.

Die Fehlermeldung könnte eventuell durch die lokale Firewall ausgelöst werden, aber das ist nur eine Vermutung...

sx2008 2. Jun 2013 15:25

AW: IdIcmpClient1Reply
 
Raw Sockets und ICMP werden von neueren Windows Versionen blockiert, weil man damit allerlei Unsinn anstellen kann (DoS, Daten umleiten,...).

Möchte man dies umgehen dann gibt es folgende Alternativen:
* Linux verwenden
* WinPCap (enthält Systemtreiber)
* evtl. Anwendung unter "System"-Account laufen lassen (ungetestet)
* evtl. gibt es auch geheime Schalter in der Registry (nur eine Vermutung von mir)

Wenn du nur Pingen möchtest, dann gibt es auch API-Funktionen:
http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx

mjustin 2. Jun 2013 16:07

AW: IdIcmpClient1Reply
 
Gleiches Problem mit Lösungsvorschlag (WMI) um Delphi-Treff:

Socket-Error #10013 Windows 8


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 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