![]() |
feste IP verändert ?
Hallo zusammen,
ich war bisher der Meinung, dass eine IP die lokal fest vergeben ist, auch dann für die Karte gilt, wenn keine Verbindung zum Router besteht. Mein Logfile sagt mir aber, dass die IP bei nicht bestehender Verbindung 127.0.0.1, also localhost ist. Kann das sein, oder kriegt der Rechner die "feste" und immer "identische" IP in dem Fall doch vom Router. Ich frage deshalb so "blöd" weil die Hardware auf der unsere Software beim Kunden läuft, von einer anderen Firma eingerichtet wurde, und mir versichert wurde diese sei fest vergeben. Danke für eure Meinungen Gruss KHH |
AW: feste IP verändert ?
|
AW: feste IP verändert ?
Zitat:
EDIT: nicht vorhanden sein soll |
AW: feste IP verändert ?
Hm, also ich kenne das eigentlich auch so, dass die Karte dann trotzdem die gleiche IP-Adresse hat. Allerdings ist es so, dass wenn eine dynamische vergeben ist, sucht sich Windows eine passende eigene IP-Adresse, die dann mit 169.xxx.xxx.xxx anfängt, soweit ich das noch weiß. Habe ich neulich mal in der c't gelesen.
|
AW: feste IP verändert ?
Zitat:
deshalb gehe ich davon aus, dass der Techniker die IP nicht der Karte fest vergeben hat, sondern eher den Roter so konfiguriert hat, dass der immer die gleiche IP an diesen Rechner vergibt. Anders kann ich mir das nicht erklären. |
AW: feste IP verändert ?
sorry, ich hatte es wohl zu hastig gelesen.
AFAIK liefert auch IPConfig auch bei fest eingestellten IP-Adressen nichts zurück wenn die Verbindung fehlt. |
AW: feste IP verändert ?
Denkbar wäre es unter Umständen vielleicht, dass der DHCP-Server das anhand der MAC-Adresse verteilt. Direkt nachschauen kannst du nicht?
|
AW: feste IP verändert ?
Zitat:
ich lese die IP mit folgender Routine aus:
Code:
function ipauslesen():string;
var rSockVer : WordRec; aWSAData : TWSAData; szHostName : array[0..255] of Char; pHE : PHostEnt; sIP : String; begin // WinSock Version 1.1 initialisieren rSockVer.Hi := 1; rSockVer.Lo := 1; WSAStartup(Word(rSockVer), aWSAData ); try FillChar(szHostName, SizeOf(szHostName), #0); GetHostName(szHostName, SizeOf(szHostName)); pHE := GetHostByName(szHostName); if Assigned(pHE) then with pHE^ do sIP := Format(cTxtIP, [Byte(h_addr^[0]), Byte(h_addr^[1]), Byte(h_addr^[2]), Byte(h_addr^[3])]); finally WSACleanup; end; result:= sIP; end; |
AW: feste IP verändert ?
Zitat:
|
AW: feste IP verändert ?
Delphi-Quellcode:
Damit holst du dir doch den Hostnamen des lokalen Computers. Ein Ansatz für eine Erklärung wäre, dass hier zwar der richtige Name zurückgegeben wird, aber bei
GetHostName(szHostName, SizeOf(szHostName));
Delphi-Quellcode:
wird ja der Host aufgelöst. Da es keine aktive Netzwerkkarte gibt, wird das Loopback-Interface verwendet und da hat der eigene Rechner die 127.0.0.1 (wobei auch alle anderen mit 127.x.x.x funktionieren würden).
GetHostByName(szHostName);
Bernhard |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:43 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