![]() |
GetSessionTraffic liefert ungenaue Werte?
Ich verwende folgende function, die Luckie in seinem InternetMonitor verwendet:
Delphi-Quellcode:
Aber ich habe ein problem mit ihr!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; 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. |
Re: GetSessionTraffic liefert ungenaue Werte?
Welches Betriebssystem? Unter 2000 arbeitet diese Funktion recht genau. Ist bei dir eventuell noch der Netzwerktraffic dabei?
|
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. |
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. |
Re: GetSessionTraffic liefert ungenaue Werte?
Spiel mal damit rum:
Delphi-Quellcode:
Also mit dem dwType.
if IfTable.table[i].dwType <> MIB_IF_TYPE_LOOPBACK then
|
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 |
Re: GetSessionTraffic liefert ungenaue Werte?
Du sollst mal verschiedene Werte von dwtype ausproboeren und kombinieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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-2025 by Thomas Breitkreuz