AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mehrere IP-Adressen auf einem Rechner -für Simulationszwecke
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere IP-Adressen auf einem Rechner -für Simulationszwecke

Ein Thema von Whookie · begonnen am 27. Jun 2007 · letzter Beitrag vom 16. Jul 2007
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von _frank_
_frank_

Registriert seit: 21. Feb 2003
Ort: Plauen / Bamberg
922 Beiträge
 
Delphi 3 Professional
 
#11

Re: Mehrere IP-Adressen auf einem Rechner -für Simulationszw

  Alt 9. Jul 2007, 17:32
loopback-adressen (127.*) kann man imho nicht binden, sie werden intern an 127.0.0.1 weitergeleitet. jedoch gabs unter WinXP mal einen "Bug", der nur eine begrenzte Anzahl von loopback-Adressen akzeptierte (glaube 127.0.0.1-127.0.0.6). dafür gibts aber einen Patch von MS:
http://www.microsoft.com/downloads/d...displaylang=de
spätestens nach einspielen des Patches sollten sich alle 127er IPs anpingen lassen (antwort von 127.0.0.1)

für dein problem musst du wohl einen eigenen IP-Bereich aufbauen, wie steve schon geschrieben hat.
über die registry geht das bisschen schneller:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\{ 9D98BF32-BD94-4708-937C-A079C7125F52}\Parameters\Tcpip
IPAddress => IPs mit Zeilenumbruch getrennt
SubnetMask => passende Subnetmasks dazu

HTH Frank
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#12

Re: Mehrere IP-Adressen auf einem Rechner -für Simulationszw

  Alt 9. Jul 2007, 17:40
Hallo,
Zitat von _frank_:
loopback-adressen (127.*) kann man imho nicht binden, sie werden intern an 127.0.0.1 weitergeleitet. jedoch gabs unter WinXP mal einen "Bug", der nur eine begrenzte Anzahl von loopback-Adressen akzeptierte (glaube 127.0.0.1-127.0.0.6). dafür gibts aber einen Patch von MS:
http://www.microsoft.com/downloads/d...displaylang=de
spätestens nach einspielen des Patches sollten sich alle 127er IPs anpingen lassen (antwort von 127.0.0.1)
Vista leitet nicht weiter, sondern antwortet auch von der angepingten IP-Adresse.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
441 Beiträge
 
Delphi 10.3 Rio
 
#13

Re: Mehrere IP-Adressen auf einem Rechner -für Simulationszw

  Alt 11. Jul 2007, 16:23
Ja, das mit dem Binden der 127.* geht wirklich nicht. Die Lösung (für mich) ist es den Microsoft Loopbackadapter zu installieren. Damit ist es dann möglich IP-Adressen hinzuzufügen (geht natürlich auch mit der physikalischen Karte ... aber bei mir war dann plötzlich Schluß mit surfen) und diese einzeln oder im Broadcast anzusprechen.

Einziger Wermutstropfen, der Loopbackadapter lässt sich in Tools wie dem Packetyzer nicht auswählen und daher kann man den Traffic dann auch nicht aufzeichnen...
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
441 Beiträge
 
Delphi 10.3 Rio
 
#14

Re: Mehrere IP-Adressen auf einem Rechner -für Simulationszw

  Alt 16. Jul 2007, 23:31
Für alle die es interessiert (und weil ich eine Eeewigkeit gebraucht habe um das rauszukriegen) gibts hier eine Funktion, die herausfindet, ob der Loopback Adapter bereits installiert ist. Getestet habe ich das ganze allerdings nur auf Windows XP (+SP2), wenn also jemand Lust hat und das auch auf was anderem zum Laufen kriegt, kann er ja hier seine Erfahrungen posten!
Um den Code kompilieren zu können, ist die Unit "SetupApi" aus den Jedis nötig und da musste ich {.DEFINE SETUPAPI_LINKONREQUEST} einstellen um keinen Crash zu verursachen...


Delphi-Quellcode:
Function LoopBackInstalled: Boolean;
Var
  pDevInfo: HDEVINFO;
  DevInfoData: SP_DEVINFO_DATA;
  RegDataType: Cardinal;
  PropSize: Cardinal;
  pPropBuffer: PByte;
  i: Integer;
  p: PChar;
begin
  Result := FALSE; // Annahme: Nix installiert
  pDevInfo := SetupDiGetClassDevs(NIL, NIL, 0, DIGCF_ALLCLASSES Or DIGCF_PRESENT);
  if DWord(pDevInfo) <> INVALID_HANDLE_VALUE then
  begin
    // suche nach dem loopback adapter
    DevInfoData.cbSize := SizeOf(DevInfoData);
    i := 0;
    while SetupDiEnumDeviceInfo(pDevInfo, i, DevInfoData) And Not Result Do // schlägt fehl wenn was nicht passt oder i>Devices ist
    Begin
      pPropBuffer := NIL;
      PropSize := 0;
      // 1. Aufruf um die Buffergröße herauszufinden
      SetupDiGetDeviceRegistryProperty(pDevInfo, DevInfoData, SPDRP_HARDWAREID, RegDataType, pPropBuffer, PropSize, PropSize);
      If GetLastError = ERROR_INSUFFICIENT_BUFFER Then
      Begin
        GetMem(pPropBuffer, PropSize);
        // 2. Aufruf um die Daten zu holen
        If SetupDiGetDeviceRegistryProperty(pDevInfo, DevInfoData, SPDRP_HARDWAREID, RegDataType, pPropBuffer, PropSize, PropSize) Then
        Begin
          // ok pPropBuffer durchsuchen ...
          p := PChar(pPropBuffer);
          while p^ <> #0 do
          begin
            if CompareText(p, '*msloop')=0 then
            begin
              Result := TRUE;
              Break;
            end;
            p := p + Length(p)+1;
          end;
        End; // Eventuell keine Daten vorhanden ...?
        FreeMem(pPropBuffer);
      end;
      Inc(i);
    End;


    SetupDiDestroyDeviceInfoList(pDevInfo);
  end;
end;
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr.
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