Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Statt IP´s Rechnernamen benutzen (https://www.delphipraxis.net/6192-statt-ip%B4s-rechnernamen-benutzen.html)

flomei 2. Jul 2003 17:45


Statt IP´s Rechnernamen benutzen
 
Kann ich irgendwie statt einer IP den Rechnernamen nehmen? Der Server ändert seine IP (kriegt eine neue über nen DHCP Server) bei jedem Start. Könnten die Clients nicht versuchen sich an den Rechnernamen zu verbinden?

MfG Florian :hi:

Stanlay Hanks 2. Jul 2003 17:48

Das ist aus dem "Easy Delphi Helper". Vielleicht hilft dir das ja weiter.

Zitat:

IP-Adresse über den Computernamen herausfinden


Die untenstehende Routine liest die IP-Adresse aus dem Computernamen aus. Der entscheidende Bestandteil ist die Funktion GetHostByName.

Delphi-Quellcode:
Uses
  WinSock;

FUNCTION GetIpAddressByName(const AComputerName: STRING): STRING;
VAR
  TMPResult: STRING;
  WSA: TWSAData;
  H: PHostEnt;
  P: PChar;
BEGIN
  IF WSAStartUp($101, WSA) = 0 THEN
    BEGIN
      GetMem(P,255 + 1);
      StrPCopy(P, ComputerName);
      H:=GetHostByName(P);
      FreeMem(P);
      IF H <> NIL THEN
        BEGIN
          P:=inet_ntoa(PInAddr(H^.h_addr_list^)^);
          TMPResult:=StrPas(P)
        END;
      WSACleanUp;
      IF TMPResult <> '' THEN
        Result:=TMPResult
      ELSE
          Result:= '0';
    END;
END;
Ein Aufruf könnte so aussehen:

Delphi-Quellcode:
Procedure Tform1.Button1Click(Sender: Tobject);
Begin
  Edit2.Text:= GetIpAddressByName(Edit1.Text);
End;


flomei 2. Jul 2003 17:53

Naja was ich meine wäre so etwas:
Delphi-Quellcode:
TCPClient1.RemoteHost := 'Marone'
Marone heisst der Server... :roll: Alle Rechner haben bei uns in der Schule Baumnamen...

Er kompiliert das auch ohne jeglichen Widerstand. Mich würde nur halt interessieren ob das schon mal jemand ausprobiert hat.

MfG Florian :hi:

Stanlay Hanks 2. Jul 2003 18:12

Wie gesagt, ich hab das nur kopiert. Verwendet hab ich sowas noch nicht. Tut mir leid.

Man liest sich, Stanlay :hi:

Marco Haffner 2. Jul 2003 19:08

Kannst Du denn keine Standard-IP-Adresse festlegen?
Ich bekomme meine IP auch von einem DHCP-Server zugewiesen,
das ist aber immer die Adresse, die als Standard festgelegt habe.

Duffy 2. Jul 2003 21:18

Hallo flomei,
google mal ein bißchen nach WINS
Zitat:

Abkürzung für "Windows Internet Name Service" • WINS ist Microsofts System zur Namenauflösung. Es funktioniert im Prinzip wie DNS, ist aber dynamisch: Geht ein neuer Host ans Netz, registriert er seinen Namen automatisch beim WINS-Server, sodass ein manueller Eingriff wie bei LMHOSTS- oder HOSTS-Dateien nicht nötig ist.
bye

Sharky 3. Jul 2003 09:54

Hai flomei,

wenn Du denn Computer unter seinem Namen anpingen kannst dann brauchst Du die TCP/IP-Adresse nicht angeben. In diesm Fall hättet ihr im Netzwerk eine WINS oder DNS auflösung für die Namen.

Christian Seehase 3. Jul 2003 15:04

Moin Florian,

als Ergänzung zu Sharkys Beitrag:
Wenn die Hosts verwendet wird (z.B. in C:\WINNT\SYSTEM32\DRIVERS\ETC\HOSTS, Textdatei ohne Endung), kann die Zuordnung von Rechnername und IP auch über diese erfolgen.

Aber es hilft alles nichts:
Du musst einen festen Bezugspunkt haben, an dem die Namensauflösung erfolgt, sei es nun DNS, WINS, HOSTS oder eine Kombination. Ist davon nichts verfügbar, wird das nicht gehen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 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