Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   feste IP verändert ? (https://www.delphipraxis.net/152645-feste-ip-veraendert.html)

khh 1. Jul 2010 06:31

AW: feste IP verändert ?
 
Zitat:

Zitat von rollstuhlfahrer (Beitrag 1032737)
Delphi-Quellcode:
GetHostName(szHostName, SizeOf(szHostName));
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
Delphi-Quellcode:
GetHostByName(szHostName);
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).

Bernhard

danke dir, siehst du ne Möglichkeit an die Ip der nicht aktiven Karte zu kommen?

himitsu 1. Jul 2010 06:36

AW: feste IP verändert ?
 
Wenn die Karte nicht aktiv ist, dann hat sie keine IP.

Lösung
- die zuletzt verwendete IP auslesen
(falls sich das überhaupt jemand auf dem eigenem System merkt ... diese dürft bei einer festen IP mit der nächten verwendeten IP "mit hoher Wahrscheinlichkeit" übereinstimmen)
- falls eine statische IP verwendet wird, dann den Wert auslesen, welcher bei einem Verbindungsaufbau "mit hoher Wahrscheinlichkeit" verwendet werden würde
(aber ich glaub auch, daß diese Einstellungen Serverseitig gespeichert ist. also bei dem, welcher für die IP-Vergabe verantwortlich ist und das ist nicht der eigene PC aka Client)

idefix2 1. Jul 2010 06:51

AW: feste IP verändert ?
 
Schau in die Eigenschaften der Netzwerkverbindung. Wenn dort die IP fix eingetragen ist, müsstest es einen Windows API Call geben, der sie Dir liefert. Wenn dort DHCP (oder automatisch) eingetragen ist, hast Du keine Chance, weil dann wird die Adresse dem PC erst bei der Verbindungsherstellung bekanntgegeben.
Wenn die IP Adresse wirklich fix ist, könntest Du natürlich die Einstellung DHCP durch das Eintragen der Netzwerkadresse, die dem PC zugeordnet wird, ersetzen. Es ist für mich allerdings fraglich, ob diese Vorgangsweise empfehlenswert ist, weil letztlich eine zentrale Verwaltung der IP Adressen via DHCP schon eine Menge Vorteile bietet.

khh 1. Jul 2010 07:05

AW: feste IP verändert ?
 
Zitat:

Zitat von idefix2 (Beitrag 1032761)
Schau in die Eigenschaften der Netzwerkverbindung. Wenn dort die IP fix eingetragen ist, müsstest es einen Windows API Call geben, der sie Dir liefert. Wenn dort DHCP (oder automatisch) eingetragen ist, hast Du keine Chance, weil dann wird die Adresse dem PC erst bei der Verbindungsherstellung bekanntgegeben.
Wenn die IP Adresse wirklich fix ist, könntest Du natürlich die Einstellung DHCP durch das Eintragen der Netzwerkadresse, die dem PC zugeordnet wird, ersetzen. Es ist für mich allerdings fraglich, ob diese Vorgangsweise empfehlenswert ist, weil letztlich eine zentrale Verwaltung der IP Adressen via DHCP schon eine Menge Vorteile bietet.

ich überlege davon auszugehen bzw. es zukünfig vorrauszusetzen , dass eine feste IP eingetragen ist.

Ich speichere in einem Logfile die Nutzer mit der Rechner-IP des benutzten Rechners.
In einem funktionierenden Netz gibt es logischerweise keinerlei Probleme.
Das Problem tritt eben nur bei "beweglichen Maschinen" sprich Notebooks auf.
Sobald diese den Funkbereich des Netzes verlassen ist die IP eben die von Localhost :-(
Solange sich nur ein Notebook im Rechnerverbund befindet wäre das auch nicht so schlimm.
Allerdings speichere ich auch das Login zusammen mit der IP in der DB , um festzustellen ob jemand an diesem Arbeitsplatz angemeldet ist.

Und das geht natürlich daneben, wenn die IP "plötzlich" weg ist.

himitsu 1. Jul 2010 09:13

AW: feste IP verändert ?
 
Laß in soeinem Fall, wo 127.*.*.* oder localhost ausgelesen wird,
die IP weg und (er)setze diese, sobald wieder eine Verbindung zum Netz besteht.




Oder lokal werden keine IPs gespeichert und bei der Verbindung/Datenübertragung zum Server wird erst am Ziel die Verbindungs-IP mit abgespeichert.

PS: Wenn die IP nur lokal gespeichert wird, dann könnte man diese fälschen. :stupid:

idefix2 1. Jul 2010 09:22

AW: feste IP verändert ?
 
Aber wenn sie den Funkbereich verlassen, haben sie doch auch keine Verbindung zum Datenbankserver mehr. Oder arbeiten sie dann auf einer lokalen Kopie der DB, die später synchronisiert wird?

khh 1. Jul 2010 09:49

AW: feste IP verändert ?
 
Zitat:

Zitat von idefix2 (Beitrag 1032782)
Aber wenn sie den Funkbereich verlassen, haben sie doch auch keine Verbindung zum Datenbankserver mehr. Oder arbeiten sie dann auf einer lokalen Kopie der DB, die später synchronisiert wird?

das ist richtig.
Allerdings kommt es vor, dass bei einer Einzelplatzversion die DB lokal gepflegt wird.
Und wenn dann der Rechner zur Internetnutzung mitverwendet wird, dann krachts eben.


Deswegen eine andere Routine in die (Einzelplatz- )Programme integrieren zu müssen, wollte ich vermeiden.

Dem Kunden zu verbieten, den Laptop noch anderweitig zu nutzen geht halt auch nicht.;-)

Wir hatten in einem Fall schon Mühe den Kunden zu überzeugen, dass das Hin- und Herkopieren der DB zwischen 2 Rechnern nicht problemlos funktionieren kann.

idefix2 1. Jul 2010 10:26

AW: feste IP verändert ?
 
Du könntest ja in der Routine abfragen, ob die Datenabnk lokal oder im Netz liegt, und die IP nur abfragen, wenn er mit einer nicht-lokalen Datenbank verbunden ist.

khh 1. Jul 2010 12:13

AW: feste IP verändert ?
 
Zitat:

Zitat von idefix2 (Beitrag 1032793)
Du könntest ja in der Routine abfragen, ob die Datenabnk lokal oder im Netz liegt, und die IP nur abfragen, wenn er mit einer nicht-lokalen Datenbank verbunden ist.

stimmt, gute idee, werd ich somachen

ich danke euch


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:32 Uhr.
Seite 2 von 2     12   

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