AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung iOS Indy IdICMPClient.Ping führt auf Simulator zum Fehler

Indy IdICMPClient.Ping führt auf Simulator zum Fehler

Ein Thema von Sherlock · begonnen am 31. Aug 2017 · letzter Beitrag vom 4. Sep 2017
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

AW: Indy IdICMPClient.Ping führt auf Simulator zum Fehler

  Alt 1. Sep 2017, 07:00
Ja, Du müsstest auf dem Server den UPDServer haben und auf dem Gerät den UDPClient. Der Client schickt eine bestimmte Nachricht ins Netz. Der Server antwortet auf die Nachricht und gibt dann die entsprechende IP-Adresse zurück. Somit hättest Du zwei Fliegen mit einer Klappe geschlagen. Du weißt, dass Dein Server da ist und welche IP-Adresse er hat.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#2

AW: Indy IdICMPClient.Ping führt auf Simulator zum Fehler

  Alt 1. Sep 2017, 07:42
In der Tat war das ohnehin ein Punkt, den ich noch erledigen wollte, also daß die Clients den Server ohne Konfiguration identifizieren können. Hmm, es bleiben dennoch die offenen Fragen:
Können die Indys unter iOS Pingen? Oder ist Pingen unter iOS verboten? Oder kann es nur der Simulator nicht?
Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Indy IdICMPClient.Ping führt auf Simulator zum Fehler

  Alt 1. Sep 2017, 07:45
Ja, Du müsstest auf dem Server den UPDServer haben und auf dem Gerät den UDPClient. Der Client schickt eine bestimmte Nachricht ins Netz. Der Server antwortet auf die Nachricht und gibt dann die entsprechende IP-Adresse zurück. Somit hättest Du zwei Fliegen mit einer Klappe geschlagen. Du weißt, dass Dein Server da ist und welche IP-Adresse er hat.
.. dann müsste Broadcast Nachricht geschickt werden.
Wenn dies über verschiedene Netze geschehen soll - müssten die Router Broadcast Nachrichten weiterleiten.
Siehe auch: https://stackoverflow.com/questions/...across-subnets

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Indy IdICMPClient.Ping führt auf Simulator zum Fehler

  Alt 1. Sep 2017, 09:17
https://forums.embarcadero.com/threa...hreadID=117226
Zitat von Remy Lebeau (TeamB):
TIdIcmpClient does not work on iOS:

http://codeverge.com/embarcadero.del...on-ios/1074816

TIdIcmpClient uses a RAW socket to implement the ICMP protocol manually.
On most platforms, use of RAW sockets is restricted to admin users only.
So you would likely have to gain root access to your iOS device in order
to use TIdIcmpClient, assuming iOS even supports RAW sockets at all.

You will have to find another solution to send pings on iOS.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#5

AW: Indy IdICMPClient.Ping führt auf Simulator zum Fehler

  Alt 1. Sep 2017, 09:29
Ah, Fudge... das hatte ich befürchtet. Ich habe ja schon für Win7 einen Sonderweg eingebaut (weil da auch Ping nur mit Adminrechten geht). Muss ich halt etwas finden, was unter iOS funktioniert. Danke!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: Indy IdICMPClient.Ping führt auf Simulator zum Fehler

  Alt 1. Sep 2017, 16:52
.. dann müsste Broadcast Nachricht geschickt werden.
Wenn dies über verschiedene Netze geschehen soll - müssten die Router Broadcast Nachrichten weiterleiten.
Siehe auch: https://stackoverflow.com/questions/...across-subnets
Nicht unbedingt. Wenn Du eine Helper-Adresse eintragen kannst, dann ist das auch so möglich.
Zitat von Stockoverflow-Forumsbeitrag:
Cisco routers usually contain a UDP IP Helper address mode that you can use to cross the subnet.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.813 Beiträge
 
Delphi 12 Athens
 
#7

AW: Indy IdICMPClient.Ping führt auf Simulator zum Fehler

  Alt 4. Sep 2017, 13:35
Ich befürchte, ich kann mich nicht darauf verlassen, daß alle Switche oder WLAN-APs alle Protokoll Goodies unterstützen. Darum muss ich auf das Pingen bzw. einem weitestgehendem Äquivalent "bestehen". Die Lösung von David Nottage, auf die SCNetworkReachability zuzugreifen erscheint dabei am elegantesten. Jedoch scheitert das Bereitstellen eines iOS-Testprojekts kläglich. (Strenggenommen ist das jetzt ein Crosspost, weil ich das Problem auch dort als Kommentar geschildert habe, aber ein echtes Forum ist das ja nicht)

Ich habe lediglich kleinste Änderungen am Projekt vorgenommen: eine Änderung des Projektnamens und NSString Typecasts durch StrToNSStr ersetzt.

Wenn ich kompiliere erhalte ich den in den Kommentaren erwähnten Hinweis (ld: warning: unknown dwarf DW_FORM_strp (offset=0xFFFFCAC6) is too big in libReachability.a(Reachability.o)).

Wenn ich aber auf dem Device ausführen möchte, erhalte ich immer den Fehler
[Error Fehler] Required local file "iOSDevice32\Debug\Pingtest" not found. Deployment failed.

In der Ausgabe sehe ich dann folgendes:
Code:
Bereitstellungsinformationen:
Bereitstellungsprofil "Wildcard (Viel Hexerei)" mit Zertifikat "iPhone Developer: Sherlock (XYZ)" wird verwendet
Build started 04.09.2017 14:27:12.
__________________________________________________
Project "F:\NetworkStateDemo\Pingtest.dproj" (Deploy target(s)):
Target _CleanRemoteDir:
    Cleaning Remote Directory: Pingtest.app
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --Clean="Pingtest.app,F:\NetworkStateDemo\Pingtest._@emb_.tmp" -u8 --Clean="Pingtest.app.dSYM,F:\NetworkStateDemo\Pingtest._@emb_.tmp" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) gelöscht...
    Insgesamt gelöschte Datei(en): 0 Datei(en) 0 Verz.
    Die Datei F:\NetworkStateDemo\Pingtest._@emb_.tmp wird gelöscht.
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --put="c:\program files (x86)\embarcadero\studio\19.0\bin\Artwork\iOS\iPhone\FM_LaunchImage_750x1334.png,Pingtest.app\,0,Default-667h@2x.png" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) kopiert...
    Insgesamt kopierte Datei(en): 0 Datei(en) 0 Byte
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --put="c:\program files (x86)\embarcadero\studio\19.0\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_87x87.png,Pingtest.app\,0,FM_ApplicationIcon_87x87.png" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) kopiert...
    Insgesamt kopierte Datei(en): 0 Datei(en) 0 Byte
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --put="c:\program files (x86)\embarcadero\studio\19.0\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_40x40.png,Pingtest.app\,0,FM_SpotlightSearchIcon_40x40.png" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) kopiert...
    Insgesamt kopierte Datei(en): 0 Datei(en) 0 Byte
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --put="c:\program files (x86)\embarcadero\studio\19.0\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png,Pingtest.app\,0,FM_ApplicationIcon_152x152.png" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) kopiert...
    Insgesamt kopierte Datei(en): 0 Datei(en) 0 Byte
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\CodeGear.Deployment.targets : warning : Local file "iOSDevice32\Debug\Pingtest.dSYM" not found. Skipping deployment.
Done building target "_DeployFiles" in project "Pingtest.dproj".
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --put="c:\program files (x86)\embarcadero\studio\19.0\bin\Artwork\iOS\iPhone\FM_LaunchImage_2208x1242.png,Pingtest.app\,0,Default-Landscape-736h@3x.png" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) kopiert...
    Insgesamt kopierte Datei(en): 0 Datei(en) 0 Byte
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --put="c:\program files (x86)\embarcadero\studio\19.0\bin\Artwork\iOS\iPhone\FM_LaunchImage_1242x2208.png,Pingtest.app\,0,Default-736h@3x.png" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) kopiert...
    Insgesamt kopierte Datei(en): 0 Datei(en) 0 Byte
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\paclient.exe -u8 --put="c:\program files (x86)\embarcadero\studio\19.0\bin\Artwork\iOS\iPad\FM_LaunchImagePortrait_1536x2048.png,Pingtest.app\,0,Default-Portrait@2x~ipad.png" myMac
    Platform Assistant Client Version 10.1.1.33
    Copyright (c) 2010-2017 Embarcadero Technologies, Inc.
   
    Verbindung zu 192.168.110.61 auf Port 64211 wird hergestellt...
    Datei(en) wird (werden) kopiert...
    Insgesamt kopierte Datei(en): 0 Datei(en) 0 Byte
Target _DeployFiles:
    c:\program files (x86)\embarcadero\studio\19.0\bin\CodeGear.Deployment.targets(492,5): error : Required local file "iOSDevice32\Debug\Pingtest" not found. Deployment failed.
Done building target "_DeployFiles" in project "Pingtest.dproj" -- FAILED.
Done building project "Pingtest.dproj" -- FAILED.
Build FAILED.
c:\program files (x86)\embarcadero\studio\19.0\bin\CodeGear.Deployment.targets : warning : Local file "iOSDevice32\Debug\Pingtest.dSYM" not found. Skipping deployment.
c:\program files (x86)\embarcadero\studio\19.0\bin\CodeGear.Deployment.targets(492,5): error : Required local file "iOSDevice32\Debug\Pingtest" not found. Deployment failed.
    1 Warning(s)
    1 Error(s)
Time Elapsed 00:00:00.68
Es werden also die Bildchen kopiert, sofern sie nicht bereits vorhanden sind, aber die dysm wird nicht erzeugt, und entsprechend nicht gefunden. Einen Hinweis, warum das nicht klappt, kann ich nicht finden....Hilfe?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 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