Entwickler-Ecke
Internet / Netzwerk - Übertragungsrate??
Henry - Di 16.07.02 18:13
Titel: Übertragungsrate??
Hallo,
kennt jemand eine Möglichkeit, wie man in Delphi die aktuelle Übertragingsrate der Internet verbindung zu ermitteln (auch ohne das gerade Dateien geladen werden).
Am besten für Up - und Download getrennt.
Danke im voraus.
Savage - Di 16.07.02 18:51
Hi,
es kommt darauf an, was für eine Internet-Verbindung du hast.
Wenn es eine DFÜ Verbindung über Win9x ist, kannst du dir die Daten aus der Registry laden. Bei WinNT, WinXP (mit DFÜ) musst du die RASAPI32 anzapfen, und wenn deine Connection über eine Netzwerkkarte läuft, wird es noch komplizierter, weil dann musst du die Daten via Netzwerkadapter und dessen Statistik (API) auslesen.
Sag also mal, für welche Connection du die Übertragungsrate haben willst, dann geb ich dir weitere Hilfe, oder du suchst einfach mal in der SDK von Mickysoft. Dort steht alles (mehr oder weniger verständlich) drin.
mfg
Savage
Henry - Di 16.07.02 19:01
Hallo Savage,
ich danke Dir erstmal für deine Antwort
Ich habe eine DFÜ verbindung.
Betriebsysteme, sagen wir mal, es sollte schon etwas sein was bei Win98 und auch bei Win XP funktioniert.
Das sind nämlich die Systeme die ich nutze.
Wäre schön, wenn Du mir da weitere Hilfestellung geben könntest (Beispiele sind immer gut :-) )
Danke Dir im voraus.
Savage - Mi 17.07.02 18:17
Hi Henry,
entschuldige die Verspätung, aber früher gings leider nicht.
Also, wie ich schon geschrieben hatte muss man zwischen Win9x (Win95/98/Me) und WinNT(WinNT 3.x/4.x, WinXP) entscheiden. Der Unterschied liegt darin, dass man unter Win9x den aktuellen Traffic über die Registry auslesen kann. Bei WinNT/XP muss man die RasApi32 verwenden, um für eine Verbindung die Daten zu erhalten.
Jetzt erstmal zu Win9x:
Ich erzeuge ein Registry-Objekt und lese 2 DWord-Werte aus.
TotalBytesRecvd = Download (der gesamte der Windowssession)
TotalBytesXmit = Upload (der gesamte der Windowssession)
d.h. du musst natürlich mittels globalen Hilfsvariablen den aktuellen Download/ Upload speed berechnen.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| Uses registry,...; ... var regist : TRegistry; idown, iup : dword; ... begin ... regist := Tregistry.Create; regist.RootKey := HKEY_DYN_DATA; regist.OpenKey('PerfStats\StatData',false); regist.ReadBinaryData('Dial-Up Adapter\TotalBytesRecvd',idown,4); regist.ReadBinaryData('Dial-Up Adapter\TotalBytesXmit',iup,4); regist.free; ... end; |
Zu WinNT/XP
Hier habe ich eine kleine Unit zusammengestellt, die den Traffic der 1. (!!!) DFÜ-Verbindung ermittelt. Mehr wird im Normalfall nicht benötigt (sei dem du hast mehrere DFÜ-Verbindungen gleichzeitig).
Download:
http://mitglied.lycos.de/WildSav/rasstatistics.pas
Diese Unit einfach mit unter Uses mit deklarieren und folgendermaßen Aufrufen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| Uses rasstatistics,...; var rs : TRasStatistics; bytesrcved : DWord; bytesxmit : Dword; bps : DWord; ... begin ... GetRasStatistics(rs); bytesrcved := rs.dwBytesRcved; // Empfangene Bytes bytesxmit := rs.dwBytesXmited; // Gesendete Bytes ... end; |
Auch hier musst natürlich mittels globalen Hilfsvariablen den aktuellen Download/ Upload speed berechnen.
Alles was da oben drinsteht, kannst du auch in der MSDN von Mickysoft nachlesen (Stichwort: RASAPI32)
Ich hoffe ich konnte dir helfen :wink:
mfg
Savage
Henry - Mi 17.07.02 18:50
Ich werde das alles mal in Ruhe durchgehen und dann testen.
Falls noch ne Frage auftaucht werde ich hier Posten oder ich schreibe Dir ne PN
Ich Danke Dir für deine hilfe.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!