Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi UPNP kapiers nicht (https://www.delphipraxis.net/80571-upnp-kapiers-nicht.html)

runger 11. Nov 2006 12:05


UPNP kapiers nicht
 
Hallo,
wir versuchen seit geraumer Zeit einen Automatissmus zu finden mit der sich die öffentliche IP adresse eines DSL Routers herausfinden lässt.
Soweit ( siehe Beispiel wir haben den Code stark vereinfacht) sind wir schon forgeschritten:
f1 ist UPNPdevicefinder

Delphi-Quellcode:
   UPnpDevices:=f1.FindByType('upnp:rootdevice',0); //upnp:rootdevice     UPnPDevicex
   Memo1.Lines.Add('----------------------------------------------------------------------------');
   Memo1.Lines.Add('Number of UPnP devices: ' + IntToStr(upnpdevices.Count));
   Memo1.Lines.Add('----------------------------------------------------------------------------');
   EnumVariant := IEnumVariant(UPnpDevices._NewEnum);
   EnumVariant.Next(1, rgvar, celtFetched);
   UPnpDevice := IUPnpDevice(IUnknown(rgvar));
   Memo1.Lines.Add('FriendlyName:    '+UPnpDevice.FriendlyName);
   Memo1.Lines.Add('UniqueDeviceName: '+UPnpDevice.UniqueDeviceName);
   Memo1.Lines.Add('Services:        '+IntToStr(UPnpDevice.Services.Count));
   Memo1.Lines.Add('PresentationURL: '+UPnpDevice.PresentationURL);
   Memo1.Lines.Add('SerialNumber:    '+UPnpDevice.SerialNumber);
   Memo1.Lines.Add('ModelURL:        '+UPnpDevice.ModelURL);
   Memo1.Lines.Add('UPC:             '+UPnpDevice.UPC);
Kann jemand helfen? Wie gehe ich vor um die Verbindungsdaten zu kriegen.
Bitte keine Beiträge, die auf das Internet verweisen wie www.ipadresse.net.
Da ich die IP intern benötige sind solche Beiträge absolut sinnlos!!

Rainer

thkerkmann 11. Nov 2006 12:17

Re: UPNP kapiers nicht
 
Hi,

vielleicht geht es viel einfacher

IP-Adresse abfragen

Gruss

Thomas.

runger 11. Nov 2006 12:20

Re: UPNP kapiers nicht
 
Hallo,

diese Antwort hilft mir leider überhaupt nicht. Ich brauche die Adresse in einem laufenden Programm!

Rainer

TKC 11. Nov 2006 12:26

Re: UPNP kapiers nicht
 
Zitat:

Zitat von runger
Hallo,
wir versuchen seit geraumer Zeit einen Automatissmus zu finden mit der sich die öffentliche IP adresse eines DSL Routers herausfinden lässt.
Soweit ( siehe Beispiel wir haben den Code stark vereinfacht) sind wir schon forgeschritten:
f1 ist UPNPdevicefinder

Delphi-Quellcode:
   UPnpDevices:=f1.FindByType('upnp:rootdevice',0); //upnp:rootdevice     UPnPDevicex
   Memo1.Lines.Add('----------------------------------------------------------------------------');
   Memo1.Lines.Add('Number of UPnP devices: ' + IntToStr(upnpdevices.Count));
   Memo1.Lines.Add('----------------------------------------------------------------------------');
   EnumVariant := IEnumVariant(UPnpDevices._NewEnum);
   EnumVariant.Next(1, rgvar, celtFetched);
   UPnpDevice := IUPnpDevice(IUnknown(rgvar));
   Memo1.Lines.Add('FriendlyName:    '+UPnpDevice.FriendlyName);
   Memo1.Lines.Add('UniqueDeviceName: '+UPnpDevice.UniqueDeviceName);
   Memo1.Lines.Add('Services:        '+IntToStr(UPnpDevice.Services.Count));
   Memo1.Lines.Add('PresentationURL: '+UPnpDevice.PresentationURL);
   Memo1.Lines.Add('SerialNumber:    '+UPnpDevice.SerialNumber);
   Memo1.Lines.Add('ModelURL:        '+UPnpDevice.ModelURL);
   Memo1.Lines.Add('UPC:             '+UPnpDevice.UPC);
Kann jemand helfen? Wie gehe ich vor um die Verbindungsdaten zu kriegen.

Rainer

Wie wärs denn mal mit nen Blick in die Doku zu UpnP :wink: ... da würdest du auch sehen woher du die IP bekommst.
Zitat:

WANIPConnection:1 Service Template Version 1.01
For UPnP™ Version 1.0

2.4. ACTIONS........................................... .................................................. ...........................................16
2.4.1. SetConnectionType................................. .................................................. ................16
2.4.2. GetConnectionTypeInfo............................. .................................................. ..........17
2.4.3. RequestConnection................................. .................................................. ................17
2.4.4. RequestTermination .................................................. ..............................................18
2.4.5. ForceTermination.................................. .................................................. .................19
2.4.6. SetAutoDisconnectTime............................. .................................................. ..........20
2.4.7. SetIdleDisconnectTime............................. .................................................. ..........20
2.4.8. SetWarnDisconnectDelay............................ .................................................. .........21
2.4.9. GetStatusInfo..................................... .................................................. .....................21
2.4.10. GetAutoDisconnectTime............................. .................................................. ......22
2.4.11. GetIdleDisconnectTime............................. .................................................. ......22
2.4.12. GetWarnDisconnectDelay............................ .................................................. .....23
2.4.13. GetNATRSIPStatus.................................. .................................................. .............23
2.4.14. GetGenericPortMappingEntry .................................................. .......................24
2.4.15. GetSpecificPortMappingEntry....................... ................................................25
2.4.16. AddPortMapping.................................... .................................................. ................25
2.4.17. DeletePortMapping................................. .................................................. ............27
2.4.18. GetExternalIPAddress .................................................. .....................................27


runger 11. Nov 2006 12:36

Re: UPNP kapiers nicht
 
Hallo,

in der Doku, die du da gepostest Hast steht absolut nichts drin. Meinst du ich hätte mich ans Forum gewandt wenn ich weitergekommen wäre?

Rainer

runger 11. Nov 2006 12:48

Re: UPNP kapiers nicht
 
Hallo ace-ppp

woher hast du denn diese Doku? Ich kann sie jedenfalls, in der Form nirgends finden.

Rainer

thkerkmann 11. Nov 2006 12:53

Re: UPNP kapiers nicht
 
Hi,

klar im laufenden Programm:

einfach eine Abfrage auf diese Webseite machen (z.B. mit synapse unit httpsend) und das Ergebnis auswerten.

Wir haben uns in der Firma auf diese Art und Weise eine eigene Implementierung von DynDNS geschaffen.

Sollte nur ne Anregung sein.....

Gruss

Thomas.

TKC 11. Nov 2006 14:16

Re: UPNP kapiers nicht
 
Hi,

die Doku ist hier komplett zu finden ..
UPnP Standards IGD @UPnp.org

Das ist auch per Google einfach zu finden :wink:

runger 11. Nov 2006 16:00

Re: UPNP kapiers nicht
 
Hi,
danke für die Hilfe, aber jetzt häng ich an einer anderen Stelle:
Ich hab mir ein Stück Code aus der DP gesucht um eine Portliste anzuzeigen:

Delphi-Quellcode:
var
   sOut                       : OleVariant;
  sArg                       : OleVariant;
  ret                        : OleVariant;
  iCount                     : integer;
  x                          : Integer;
.....

 if not Assigned(WANIPConn) then exit;

  try
    // Portmappings zählen
    ret:='PortMappingNumberOfEntries';
    iCount := WANIPConn.QueryStateVariable(ret); // hier bekomm ich Exception
Egal welchen Service ich benutze, ich bekomme immer die Exception OLE Fehler. Was mach ich falsch?

Rainer

Luckie 11. Nov 2006 16:03

Re: UPNP kapiers nicht
 
Bitte erstell für eine neue Frage einen neuen Thread, sonst eht es hier drunter und drüber.


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

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