AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte FritzBox - Telefoniegeräte - bitte testen.
Thema durchsuchen
Ansicht
Themen-Optionen

FritzBox - Telefoniegeräte - bitte testen.

Ein Thema von Garfield · begonnen am 23. Jun 2012 · letzter Beitrag vom 8. Mär 2014
Antwort Antwort
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#1

AW: FritzBox - Telefoniegeräte - bitte testen.

  Alt 24. Jun 2012, 14:54
PS: Unter WIn 7 64 bit klappt Anmemldung nicht, ebenfalls in einer XP-VM auf dieser Maschine auch nicht und unter W2k auch nicht
Hört sich nicht so gut an. Habe schon überlegt, ob ich auf URLOpenStream und BindStatusCallback umstellen soll.

PPS: Was passiert, wenn mehrere Fritzbox im Netz sind?
Es wird nur "http://fritz.box" verwendet. In "function TFritzBox.GetIPIntern: AnsiString;" wird über die Winsock die interne IP ermittelt. Wie man mehrere Fritzboxen erkennen kann, weiß ich leider nicht.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

Registriert seit: 9. Jul 2004
Ort: Aken (Anhalt-Bitterfeld)
1.335 Beiträge
 
Delphi XE5 Professional
 
#2

AW: FritzBox - Telefoniegeräte - bitte testen.

  Alt 24. Jun 2012, 15:54
Das Problem liegt in der Verbindungsgeschwindigkeit. Ich hatte die Header unter Windows XP mit Firefox und LiveHeader ermittelt und Keep_Alive mit 115 angegeben:
Delphi-Quellcode:
const
  KEEP_ALIVE = 115;

...

function TClient.ReceiveBuf: Integer;
{*******************************************************************************
*  -7- Die Antwort abrufen.
}

var
  FBuffer : Array[0..cBufSize - 1] of Char;
begin
  Result := -1;
  if fConnected
  then begin
    fBytesRcvd := 0;
    {
    *  Daten abrufen.
    }

    fBufferStr := '';
    Result := -1;
    while (Result < 0) or (Result = cBufSize)
    do begin
      sleep(KEEP_ALIVE);
      FillChar(FBuffer, cBufSize, #0);
      Result := recv(fSocket, FBuffer, cBufSize, 0);
      {
      *  Die gelesenen Bytes übernehmen und die Anzahl aktualisieren.
      }

      fBufferStr := fBufferStr + FBuffer;
      inc(fBytesRcvd, Result);
    end;
  end;
end;
Beim Abholen der Antwort wird diese Zeit gewartet. Unter Windows XP ist diese Zeitspanne ausreichend. Bei meinem Windows 7 Home Premium 64Bit musste ich die Zeitspanne auf 300 erhöhen, damit das "Lämpchen" grün wurde.

Somit bekomme ich jetzt
Zitat:
Analog
Analog0: Telefon

ISDN

ISDN

DECT (Foncontrol)
DECT1: AAAA
DECT2: BBBB

DECT (Handset)

IP

IP

SIP
SIP0: 8xxxx

MSN
MSN0: 8xxxx

Fax

Faxmodem

Kurzwahlen
HotDial0: 500@hd-telefonie.avm.de
HotDial1: 200@hd-telefonie.avm.de
HotDial2: 100@hd-telefonie.avm.de
angezeigt. Dauert allerdings wegen der vielen Abfragen sehr lange.

Nachtrag:

Habe die geänderte Version ebenfalls im ersten Beitrag angehangen.
Gruss Garfield
Ubuntu 22.04: Laz2.2.2/FPC3.2.2 - VirtBox6.1+W10: D7PE, DXE5Prof

Geändert von Garfield (24. Jun 2012 um 15:57 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz