Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Eigene (Internet)IP rausfinden (https://www.delphipraxis.net/48018-eigene-internet-ip-rausfinden.html)

Luckie 13. Aug 2009 21:18

Re: Eigene (Internet)IP rausfinden
 
Zitat:

Zitat von Pseudemys Nelsoni
Gibt es eine "richtige" Methode? wenn ich "ipconfig" aufrufe, zeigt mir das Programm doch auch meine IP an und ich denke nicht das Microsoft das über ne Seite macht ;)

Machen sie auch nicht. Es werden immer die IP-Adressen angezeigt, die dem Adapter zugewiesen sind. Gehst du über einen Router ins Internet, wird dir die IP-Adresse angezeigt, die dir der Router zugewiesen hat. Wählst du dich direkt ein, wird dir natürlich die IP-Adresse angezeigt, die der Provider deinem Adapter zugewiesen hat.

Siehe hier:
Code:
Verbindungsspezifisches DNS-Suffix:
Beschreibung. . . . . . . . . . . : SiS 900-basierte PCI-Fast Ethernet-Adapter
Physikalische Adresse . . . . . . : 00-07-95-FB-A1-04
DHCP aktiviert. . . . . . . . . . : Nein
IP-Adresse. . . . . . . . . . . . : 192.168.2.100
Subnetzmaske. . . . . . . . . . . : 255.255.255.0
Standardgateway . . . . . . . . . : 192.168.2.1
DNS-Server. . . . . . . . . . . . : 192.168.2.1
Meine IP-Adresse und ich bin auch im Internet.

Willst du die IP-Adresse die der Provider deinem Router zugewiesen hat, musst du entweder direkt den Router fragen oder eben diesen Weg über eine Internetseite gehen, die dir deine IP nennt.

DeddyH 14. Aug 2009 08:10

Re: Eigene (Internet)IP rausfinden
 
Nja, das wird er nach 4 Jahren vermutlich verinnerlicht haben :mrgreen:

Der_Ventilator 14. Aug 2009 09:44

Re: Eigene (Internet)IP rausfinden
 
Zitat:

Zitat von DeddyH
Vielleicht mit
Delphi-Quellcode:
GetHostName(@Buffer[0], SizeOf(Buffer));
:?: Ich hab aber kein D2009, um das auszuprobieren.

Auch wenn ich nicht wirklich verstehe, was beim Aufruf mit @Buffer[0] passiert, (Zeige ich damit nur auf den ersten Buchstaben des Arrays?) funktioniert folgender angepasster Code unter D2009:


Delphi-Quellcode:
function getComputerIPs: Tstrings;
type
  TaPInAddr = array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: array [0..63] of PAnsiChar;
  I: Integer;
  GInitData: TWSAData;
begin
  WSAStartup($101, GInitData);
  Result := TstringList.Create;
  Result.Clear;
  GetHostName(@Buffer[0], SizeOf(Buffer));
  phe := GetHostByName(@Buffer[0]);
  if phe = nil then Exit;
  pPtr := PaPInAddr(phe^.h_addr_list);
  I   := 0;
  while pPtr^[I] <> nil do
  begin
    Result.Add(inet_ntoa(pptr^[I]^));
    Inc(I);
  end;
  WSACleanup;
end;
Vielen Dank


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

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