Thema: UPN - Problem

Einzelnen Beitrag anzeigen

1aa

Registriert seit: 28. Sep 2008
48 Beiträge
 
Delphi XE5 Enterprise
 
#1

UPN - Problem

  Alt 8. Aug 2013, 22:08
Nabend ich habe ein Problem mit FritzBox und UPNP-Status informationen auslesen:
Wie man am code sehen kann will ich mir die aktuelle IP Adresse ausgeben lassen, funktioniert soweit auch.... aber das auslesen dauert beim 1. mal ca. 20-30 sek beim 2. mal liest er garnix mehr aus....
kann mir einer sagen woran das leigen könnte.... Danke

Hier der Betreffende Code:

Delphi-Quellcode:

fSocket : TTCPClient;

[..........]

function TFritzBox.GetIP : String;
 var
     Stringliste : TStringlist;
     buffer : AnsiString;
begin
//Senden vorbereiten------------------------------------------------------------
  Stringliste := TStringlist.Create;
    try
      Stringliste.Clear;
        Stringliste.Add('POST /upnp/control/WANCommonIFC1 HTTP/1.1');
        Stringliste.Add('Host: 192.168.178.1:49000');
        Stringliste.Add('Accept: */*');
        Stringliste.Add('Content-Type: text/xml;charset=utf-8');
        Stringliste.Add('SoapAction:urn:schemas-upnp-org:service:WANIPConnection:1#GetExternalIPAddress');
        
        buffer := ('<?xml version="1.0" encoding="utf-8"?>'+
                         ' <s:Envelope s:encodingStyle="http://schemas.xmlsoap.'+
                         'org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> '+
                         '<s:Body> '+
                         '<u:GetExternalIPAddress xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" />'+
                         ' </s:Body> </s:Envelope>');
        Stringliste.Add('Content-Length:' + inttostr(length(buffer)));
        Stringliste.Add('');
        Stringliste.Add(buffer);
        buffer := Stringliste.Text;
    finally
      Stringliste.Free;
    end;
//Senden------------------------------------------------------------------------
      fSocket.SendBuf(buffer[1],length(buffer));
      result := fSocket.Receiveln('#13#10')
end

Geändert von 1aa ( 8. Aug 2013 um 22:41 Uhr)
  Mit Zitat antworten Zitat