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

Aktuelle Zeit: Fr Jul 18, 2025 08:47

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: IP's in einem Netzwerk????
BeitragVerfasst: So Mai 30, 2004 18:50 
Offline
DGL Member

Registriert: Fr Jan 10, 2003 20:18
Beiträge: 88
Hey,
Hab mal ne Frage zum Thema IP Adressen.
Mein PC ist mit dem meines Bruders verbunden.
Wie kann ich in einem Netzwerk rausfinden, wieviel PC mit einander verbun den sind und welche IP-Adressen, diese haben?
Und welche IP der aktuelle PC hat, auf dem das Programm läuft.
Bin so ziehmlich neu in diesem Bereich von Programmiereung.

Danke schonmal.

Cya


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 30, 2004 22:50 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jun 24, 2003 19:09
Beiträge: 732
Hm,
also willst du vom Prinzip das Netzwerk nach Rechnern durchsuchen auf denen z.B. ein Server von einem Programm laufen könnte?
Ein etwas umständlicher weg wäre da sicherlich die kompletten Win32 Rechner über die auch in der Netzwerkumgebung genutzen Api aufzulisten und über deren Hostnamen an die IP's zu kommen. Aber bekannterweise ist das verdammt langsam denn das Auflisten aller Rechner in nem win32 Netzwerk kann ne weile dauern....
(Ein anderer Weg fällt mir da jetzt spontan nicht ein)

Die IP eines Hosts bekommst du mit folgender funktion raus :
(Die hab ich auch nur von diversen Delphi Seiten ausm Netz gezogen ;) )
Code:
  1. function getIP(HostName : string): String;
  2. type
  3.   TaPInAddr = array[0..10] of PInAddr;
  4.   PaPInAddr = ^TaPInAddr;
  5. var
  6.   phe: PHostEnt;
  7.   pptr: PaPInAddr;
  8.   I: Integer;
  9.   GInitData: TWSAData;
  10. begin
  11.   WSAStartup($101, GInitData);
  12.   phe := GetHostByName(pchar(HostName));
  13.   if phe = nil then Exit;
  14.   pPtr := PaPInAddr(phe^.h_addr_list);
  15.   I := 0;
  16.   while pPtr^[I] <> nil do
  17.   begin
  18.     Result:=(inet_ntoa(pptr^[I]^));
  19.     Inc(I);
  20.   end;
  21.   WSACleanup;
  22. end;


Für die IP des aktuellen Rechners dann einfach :
Code:
  1. var
  2.    Hostname : array[0..63] of Char;
  3. begin
  4.      GetHostName(Hostname,SizeOf(Hostname));
  5.      GetIP(Hostname);
  6. end;


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mai 30, 2004 23:09 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Du kannst ein Packet an die Broadcastaddresse 255.255.255.255 an alle Server senden und dann auf die Antworten warten. Das geht aber nur über UPD und im lokalen Netz.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.006s | 15 Queries | GZIP : On ]