Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 00:04

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: LAN-Hostname auflösen
BeitragVerfasst: Sa Jan 10, 2004 12:36 
Offline
DGL Member

Registriert: Sa Jan 10, 2004 12:34
Beiträge: 3
Hallo

Ich möchte einen hostname (z.b: comp1) der sich irgendwo im LAN befindet zu einer ip-adresse auflösen...
mit den methoden die ich in diversen foren gefunden habe funktioniert dies zwar fürs internet
(z.B www.google.de), nicht aber für lokale rechnernamen...
gibt es in delphi nicht eine funktion die das erledigen sollte?

(p.s: suchfunktion schon benutzt *g* :))
sorry falls dies hier der falsche ort für solche art von fragen ist, aber
man hat mir dieses forum als schnell und kompetent empfohlen :D

_________________
es GIB LEI ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jan 10, 2004 13:26 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
Da kann ich dir delphi-source.de wärmstens empfehlen.
Die Tips und Tricks-Abteilung dort enthält sehr nützliche Methoden und Codeschnipsel, die den Delphialltag erheblich erleichtern. Dort steht zum Beispiel auch die Auflösung des Hostnamens im LAN. Leider nur für den lokalen Rechner.
Aber wozu möchtest du überhaupt die IP-Adresse wissen? Du kannst doch auch als IP-Adresse den Hostnamen problemlos verwenden. Und um alle Rechner im Netzwerk zu finden schickst du ein Packet an die IP Adresse 192.168.XXX.255.
Das bekommen dann alle Rechner und die können dir dann antworten. Im zurückgesendeten Packet steht natürlich auch die IP drin.
Und willst du das ganze mit TCP/IP oder mit UDP lösen? Oder mit den Indy-Komponenten?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 11, 2004 01:33 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 10:37
Beiträge: 251
Wohnort: Ulm
Code:
  1. function GetIPByName(strPCName : String) : String;
  2. resourcestring
  3.     cTxtIP = '%d.%d.%d.%d';
  4. var
  5.     szHostName : array[0..255] of Char;
  6.     pHE       : PHostEnt;
  7.     sIP       : String;
  8. begin
  9.     result := '';
  10.     try
  11.         GetHostName(PChar(strPCName), SizeOf(PChar(strPCName)));
  12.         pHE := GetHostByName(PChar(strPCName));
  13.         if Assigned(pHE) then begin
  14.             with pHE^ do
  15.                 sIP := Format(cTxtIP, [Byte(h_addr^[0]), Byte(h_addr^[1]),
  16.                                               Byte(h_addr^[2]), Byte(h_addr^[3])]);
  17.             result := sIP;
  18.         end;
  19.     except
  20.         szHostName := 'Fehler';
  21.     end;
  22. end;

_________________
http://www.rochus.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 11, 2004 10:25 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
Code:
  1.  
  2. uses winsock;
  3.  
  4. function getIP(HostName : string): String;
  5. type
  6.   TaPInAddr = array[0..10] of PInAddr;
  7.   PaPInAddr = ^TaPInAddr;
  8. var
  9.   phe: PHostEnt;
  10.   pptr: PaPInAddr;
  11.   I: Integer;
  12.   GInitData: TWSAData;
  13. begin
  14.   WSAStartup($101, GInitData);
  15.   phe := GetHostByName(pchar(HostName));
  16.   if phe = nil then Exit;
  17.   pPtr := PaPInAddr(phe^.h_addr_list);
  18.   I := 0;
  19.   while pPtr^[I] <> nil do
  20.   begin
  21.     Result:=(inet_ntoa(pptr^[I]^));
  22.     Inc(I);
  23.   end;
  24.   WSACleanup;
  25. end;
  26.  


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 11, 2004 13:10 
Offline
DGL Member

Registriert: Sa Jan 10, 2004 12:34
Beiträge: 3
leider alles nicht das richtige,... ich müsste lan-computernamen auflösen, nicht internet domains... ansonsten danke 4 die hilfe :D

_________________
es GIB LEI ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jan 11, 2004 13:13 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 29, 2002 10:37
Beiträge: 251
Wohnort: Ulm
also meine funktion wird in einer anwendung verwendet um lan rechner aufzulösen.. weiß nicht was du da anders haben willst oO

_________________
http://www.rochus.net


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 12, 2004 13:59 
Offline
DGL Member

Registriert: Sa Jan 10, 2004 12:34
Beiträge: 3
hm,... die liefert bei mir nur einen leeren string zurück... :(

_________________
es GIB LEI ...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Jan 12, 2004 19:48 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
Die Funktion von mir wird in meinem LAN Netzwerk Scanner verwendet und funktioniert ohne probleme...


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.021s | 15 Queries | GZIP : On ]