Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Gerade aktive LAN-IP ermitteln (https://www.delphipraxis.net/131725-gerade-aktive-lan-ip-ermitteln.html)

TheMiller 29. Mär 2009 23:08


Gerade aktive LAN-IP ermitteln
 
Hallo,

manchmal kommt es ja vor, dass in einem PC mehrere LAN-Adapter vorhanden sind. Oftmals - so mache ich das zum Beispiel, wenn ich Netze einrichte - haben die Geräte feste IP-Adressen.

Also sagen wir mal, die Netzwerkkarte bekommt eine feste IP Adresse und der WLAN-Adapter (weil der auch für andere Netze verwendet wird), bezieht eine dynamische Adresse über DHCP.

Wie kann ich jetzt feststellen, welche IP-Adresse gerade benutzt wird. Ich möchte nicht alle IPs ermitteln, sondern entweder die statische, wenn das Netzwerkkabel drin ist, oder die DHCP vom WLan, wenn grad über WLan gesurft wird.

Ich hoffe, ihr habt verstanden, was ich meine. Wie muss ich diese Sache angehen?

Danke!

RWarnecke 30. Mär 2009 05:32

Re: Gerade aktive LAN-IP ermitteln
 
Du könntest über den LinkSpeed gehen. Diesen kannst Du mit MSDN-Library durchsuchenGetAdaptersAddresses ermitteln. Dieser Befehl geht aber nur ab Windows XP.

sx2008 30. Mär 2009 08:41

Re: Gerade aktive LAN-IP ermitteln
 
Du musst einen Server im Internet nach deiner IP-Adresse fragen.
z.B:
http://www.ip-adress.com/
http://www.wieistmeineip.de/
die Webseiten per HTTP abfragen und das Ergebnis auswerten.
Es gibt auch Webserver, die als Antwort nur deine IP-Adresse liefern und so den Aufwand für das Auswerten reduzieren (habe aber grad keine URL parad).

rwachtel 30. Mär 2009 09:03

Re: Gerade aktive LAN-IP ermitteln
 
Zitat:

Zitat von sx2008
Du musst einen Server im Internet nach deiner IP-Adresse fragen. [...]

Es geht doch um die lokale IP...

Dabei ist aber durchaus auch zu berücksichtigen, dass PCs mit mehreren (gleichzeitig aktiven) LAN-Karten auch in mehreren (Sub)netzen tätig sein können. Hier ist dann zu definieren, was man eigentlich wissen will.

TheMiller 30. Mär 2009 09:44

Re: Gerade aktive LAN-IP ermitteln
 
Danke für die Antworten.

Ich möchte folgendes erreichen. Ich habe ein Verwaltungsprogramm für ein Büro geschrieben. Das benutzen dort ca 10 User. Dort habe ich ein kleines Nachrichtensystem eingebaut, welches über idTCPClient / Server funktioniert.

Da alle eine feste IP haben ist das alles wunderbar. Nur der Chef und ich gehen auch über VPN ins Netz und bekommen bei VPN eine neue IP, die somit nicht in der Datenbank hinterlegt ist.

Nun sollte folgendes passieren: Beim Einloggen ins Programm soll die LAN-IP gesucht und in die DB eingetragen werden, sodass die User mir und dem Chef schreiben können, egal ob wir per VPN oder "normal" im Lan angemeldet sind.

TheMiller 15. Jun 2009 15:13

Re: Gerade aktive LAN-IP ermitteln
 
Hat noch jemand eine Idee? Das Problem besteht immernoch...

rwachtel 15. Jun 2009 15:23

Re: Gerade aktive LAN-IP ermitteln
 
Zitat:

Zitat von DJ-SPM
Hat noch jemand eine Idee? Das Problem besteht immernoch...

http://www.google.de/search?q=delphi+enumerate+local+ip

// Edit: Was ich nicht ganz verstehe: wenn Ihr Euch an dem Server (dessen IP ja bekannt ist) von dem Client anmeldet, dann weiss der Server doch, welche IP der entsprechende Client hat. Warum muss es der Client denn auch wissen?

TheMiller 15. Jun 2009 15:28

Re: Gerade aktive LAN-IP ermitteln
 
Ok danke,

aber was ist mit meinem Szenario? Wenn ich eine VPN-IP habe und eine LAN-IP. Ich wüsste, welche IP ich auswählen muss, aber andere Benutzer wissen das nicht unbedingt...

Wir melden uns nicht an einem Server an. Das Programm verbindet sich nur zu einer DB, die auf einem Linux-Server läuft. Der Linux-Server hat nichts mit der Authentifizierung zu tun.

Ich schreibe die IP bei jeder Anmeldung in die DB, aber bei PCs mit mehreren IPs (VPN etc.) weis ich nicht, wie ich die richtige IP erwische, oder ist das egal?

Angenommen, ich habe die lokale 192.168.4.1 und die VPN-Adresse 10.0.0.1, würde die Anfrage durch Eingabe beider Adressen bei mir landen? Dann wäre es ja wirklich egal. Ich kann es nur grad nicht testen...

rwachtel 15. Jun 2009 15:34

Re: Gerade aktive LAN-IP ermitteln
 
Ich habe irgendwie das Gefühl, dass das entwickelte Kommunikationssystem unter einem Architekturproblem leidet.

Du schreibst also die eigenen IPs in eine Datenbank, und die anderen Teilnehmer müssen sich für eine Peer-To-Peer-Verbindung die entsprechende IP aus der Datenbank holen?

Wäre eine Nachrichtenzentrale nicht stimmiger? Sonst kann man ja gleich mit net send arbeiten... :mrgreen:

TheMiller 15. Jun 2009 15:57

Re: Gerade aktive LAN-IP ermitteln
 
Kann sein, dass ich grad auf dem Schlauch stehe... Habe glaub ich nicht ganz verstaden, was du meinst.

Falls du meinst, dass ich die Nachrichten doch in die MySQL-DB schreiben soll, habe ich ein paar Probleme mit dieser Lösung: Die Nachricht würde nicht sofort aufpoppen und die DB müsste alle x Sekunden angefragt werden, ob eine Nachricht vorliegt. Das wollte ich vermeiden.

Die eigene IP wird in die DB gespeichert, damit andere User eine P2P-Verbindung mit der Gegenstelle aufbauen und Nachrichten schreiben können.

Die eigene IP wird ja nicht in der DB gespeichert, damit ich meine eigene IP rausfinden kann... das wäre ja auch unlogisch...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz