Ich schreibe eine App in C#, die gleichzeitig (in verschiedenen Threads) mit mehreren Verbindungen zu mehreren Servern, und ich möchte in der Lage sein, die verwendeten zu begrenzen Bandbreite.Begrenzung/Drosselung der Bandbreite mit * multiple * Verbindungen
Für eine einzelne Verbindung wäre die Lösung einfach; Ich würde die hier veröffentlichte Lösung verwenden: http://www.codeproject.com/KB/IP/Bandwidth_throttling.aspx , die eine Ruhezeit für die einzelne Verbindung berechnet.
Ich würde gerne wissen, was der beste Weg ist, dies für mehrere Verbindungen zu tun.
Verwenden Sie den oben genannten ThrottledStream und Dividieren der Bandbreite (sagen 2MB/sec) gleichmäßig unter den Verbindungen ist nicht richtig, wenn ich 3 sehr langsame Verbindungen und 1 sehr schnelle hätte sie alle auf 512kb begrenzt werden/sec, so dass der schnelle nicht über 512kb/sec geht und die anderen 3 würden das nicht machen.
Die bevorzugte Lösung, denke ich, ist es, nur die schnellste (n) Verbindung (en) zu beschließen, damit die langsameren Verbindungen optimal genutzt werden.
Hat jemand Erfahrung damit, Beispielcode oder einen Ratschlag?
Hallo DavidMB, Macht es Ihnen posten ** DownloadLimiter Klasse **? Dank Jeff in Seattle –