Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi GetSessionTraffic liefert ungenaue Werte? (https://www.delphipraxis.net/10167-getsessiontraffic-liefert-ungenaue-werte.html)

Lefko 12. Okt 2003 22:57


GetSessionTraffic liefert ungenaue Werte?
 
Ich verwende folgende function, die Luckie in seinem InternetMonitor verwendet:

Delphi-Quellcode:
 

function Tform1.GetSessionTraffic(Way : string) : real;
var
  IfTable: PMIB_IFTABLE;
  dwSize: Cardinal;
  i: Integer;
begin
  result := 0;
  IfTable := nil;
  dwSize := 0;
  ZeroMemory(@IfTable, sizeof(IfTable));
  try
    VVGetIfTable(IfTable, dwSize, TRUE);
    if IfTable <> nil then
    begin
      for i := 0 to IfTable.dwNumEntries - 1 do
      begin
        if IfTable.table[i].dwType <> MIB_IF_TYPE_LOOPBACK then
          if Way = 'In' then result := IfTable.table[i].dwInOctets / 1024 / 1024 
                        else result := IfTable.table[i].dwOutOctets / 1024 / 1024;
      end;
    end;
  finally
    Freemem(IfTable);
  end;
end;
Aber ich habe ein problem mit ihr!

Die Werte, die von dieser Function rausgegeben werden unterscheiden sich MAßGEBLICH von den bytes, die in der DFÜ-Anzeige angezeigt werden!

ein timer aktualisiert alle 1 sek ein label mit dem Up und Down; nach 10 sekunden hat man schon einen unterschied von ~200 KB!

ich hab gerade nach 1 stunde bei der dfü 20 MB und bei meinem prog 17,5 MB Download zu stehen...

hat jemand eine ahnung, wie das zustande kommt? (ich teile die bytezahl auch brav 2 mal durch 1024, nicht durch 1000 );


MfG Lefko.

Luckie 12. Okt 2003 23:15

Re: GetSessionTraffic liefert ungenaue Werte?
 
Welches Betriebssystem? Unter 2000 arbeitet diese Funktion recht genau. Ist bei dir eventuell noch der Netzwerktraffic dabei?

Lefko 13. Okt 2003 13:34

Re: GetSessionTraffic liefert ungenaue Werte?
 
Hi Luckie!

Ich hab WinME. Und irgendein Netzwerktraffic is da denk ich nicht bei, ich bin nämlich einer von diesen Normalsterblichen mit ISDN und mehr nicht :)

Außerdem zeigt diese Function bei mir ja viel WENIGER an als die DFÜ-Anzeige.

Naja, vielleicht fällt dir oder euch ja noch was ein...

MfG Lefko.

Lefko 2. Feb 2004 01:44

Re: GetSessionTraffic liefert ungenaue Werte?
 
Hm, hat wirklich keiner was dazu auf Lager?
das nervt ganz schön in der log-datei, dass da immer so 2-50 Mb unterschlagen werden... :roll:

MfG Lefko.

Luckie 2. Feb 2004 04:31

Re: GetSessionTraffic liefert ungenaue Werte?
 
Spiel mal damit rum:
Delphi-Quellcode:
if IfTable.table[i].dwType <> MIB_IF_TYPE_LOOPBACK then
Also mit dem dwType.

Lefko 13. Feb 2004 21:08

Re: GetSessionTraffic liefert ungenaue Werte?
 
o_O versteh ich leider überhaupt nicht! Was soll ich damit rumspielen? ich kann es stehenlassen oder wegmachen, mehr weiss ich nicht... :?


PS: Ich versteh den Code nicht, ich probiere nur, ihn zu benutzen... :oops:

MfG Lefko

Luckie 14. Feb 2004 14:02

Re: GetSessionTraffic liefert ungenaue Werte?
 
Du sollst mal verschiedene Werte von dwtype ausproboeren und kombinieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:04 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