Up/Download Speed für bestimmte Prog. oder Ports ermitteln und begrenzen
-
Hallo Leute,
ist es irgendwie möglich den Upload und Download Speed eines Programmes oder auch auf einem Port zu ermitteln und diesen dann zu begrenzen?
Hab schonmal hier im Forum gesucht aber nichts gefunden.
Es gibz aber ein Programm ( NetLimiter ) das genau diese Funktionalität anbietet, aber ich brauch so etwas jetzt in einem eigenen Programm also wäre super wenn ihr mir helfen könntet.MfG DreamDancer
-
hier mal meine ideen
ermitteln:
zeit speichern
recv hooken und ne variable um das ergebnis erhöhen
bytes/(zeit-gespeicherte zeit)setzen:
recv hooken und jedes 2. mal ein wenig Sleep'n?!wie gesagt, nur ideen
-
Hi,
danke schonmal für Deine Antwort, aber kannst du das vielleicht nochmal etwas genauer erläutern? Am besten mit Funktionsnamen, damit ich mal in der MSDN nach suchen kann.
MfG DreamDancer
-
kann mir denn keiner weiter helfen?
-
zu API-Hooking siehe auch: http://c-plusplus.net/forum/viewtopic.php?t=47063
du willst doch für beliebige Fremdanwendungen die Down-/Upload-rate limitieren, oder?
Eine zuverlässige Arbeitsweise zu erreichen ist imho über Hooking nahezu ausgeschlossen - es gibt so viele unterschiedliche Funktionen, mit der man Daten senden kann (die münden doch sicher nicht alle letzendlich in send, oder?) - aber vielleicht geht's ja auch noch irgendwie anders
-
ich schätze schon das es am schluß immer auf die winapi rauskommt (send/WSASend)
-
ok mit dem Api Hooking hab ich kapiert.
Aber kann ich dann damit nicht nur den allgemeinen Up/Down Stream beeinflussen?
Woher erfahre ich denn welches Programm nun die zwischen geschobene Recv Funktion ( z.B ) aufruft?
-
Du kannst ja in deiner Hook-Funktion in Erfahrung bringen, von welchem Prozess sie aufgerufen wurde
(in jedem Process findet sich ja eine eigene Instanz deiner Hook-DLL)
-
hi, nochmal also da ich mir das jetzt mal so angeschaut hab wie das mit dem API Hooking funktioniert, hab ich mich entschieden nicht eine eingeschobene DLL zu schreiben sondern einen Layered Service Provider mit der Winsock SPI.
Nur komme ich mit der Anleitung von Microsoft diesbezüglich überhaupt nicht klar.Kann mir vielleicht jemand ein gutes Tutorial diesbezüglich nennen ( auf Deutsch wäre super, englisch geht aber auch ).
MfG DreamDancer
-
Meintest du dieses: Unraveling the Mysteries of Writing a Winsock 2 Layered Service Provider ?
-
yep genau das meinte ich.