IP-Adresse ermitteln aus Hostnamen für FTP

sps_dau

Level-2
Beiträge
20
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ist es jemanden schon gelungen in ecockpit (PFC200) den Hostnamen in eine IP-Adresse umzuwandeln - bzw. ermitteln.

Ich habe mich schon mir ResolveHostname aus der NBS Bibliothek versucht - ohne Erfolg.

Wenn es schon gelungen ist - bekomme ich ein Schnipsel?


Danke schon mal!
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,

ich wollte die IP mit Codesys 2.3 auslesen. leider bekomme ich mit folgenden Code:

Code:
sIPAdr:STRING;
dwRet1:DWORD;
xRet:BOOL;
sHost: STRING;
iA: INADDR;

xRet:= SysSockGetHostName(ADR(sHost),80);
iA.S_addr := SysSockGetHostByName(ADR(sIPAdr));
SysSockInetNtoa(iA,sIPAdr,80);

nur folgendes Ergebnis:

Code:
iA.S_addr = 4294967295
sIPAdr = '255.255.255.255'

Aber wie komme ich jetzt daraus die IP vom Controller?
 
Welcher String steht in der Variable sHost? "localhost"? Das funktioniert mal und mal nicht abhängig von der Firmware. Ansonsten gibt es noch eine spezielle Funktion aus einer Wago Bibliothek.
 
localhost? wenn ich localhost anstatt sHost schreibe hab ich natürlich das gleiche Ergbniss

Code:
xRet:= SysSockGetHostName(ADR(localhost),80);
 
Du bringst da Dinge durcheinander. SysSockGetHostName ermittelt den Namen. SysSockGetHostByName
ermittelt anhand des Namens die IP-Adresse. Dieser Aufruf braucht logischerweise die Adresse des Namens und nicht der Adresse.
 
deswegen hätte ich ja "SysSockGetHostName" auskommentiert und bei "SysSockGetHostByName" dann "localhost" eingetragen.
Code:
sIPAdr := 'localhost'
iA.S_addr := SysSockGetHostByName(ADR(sIPAdr));
oder ist localhost nicht der Name :unsure:
 
Zurück
Oben