jak wygląda ograniczenie prędkości pobierania pliku?

0

Są różne sposoby na pobieranie plików, ale weźmy taki za pomocą WinInet, ładuje się do buforu ileś bajtów danych, przykładowo 1024 bajty i zapisuje się takimi paczkami to na dysku w pliku.
Czy gdybym chciał wprowadzić ograniczenie prędkości pobierania plików, to mam dla przykładu po każdej odebranej i zapisanej paczce 1 KBajtowej dać Sleep na ileś milisekund z w zależności z jaką prędkością chcę pobierać, czyli ma to wyglądać w stylu:

  1. ustawione jest ograniczenie prędkości 2 kilobajtów na sekundę
  2. bufor ma wielkość 1 KB
  3. pobieram 1 KB danych, zapisuję je
  4. tu walę Sleep na 500 milisekund, czyli w ciągu sekundy pętla wykona się dwa razy (czyli łącznie odbierze, zapisze dwa pakiety po 1 KB).

Czy tak to ma wyglądać? Oczywiście funkcja pobierania pliku byłaby w nowym wątku zrobiona, by sleep nie zamulał aplikacji.
Muszę wiedzieć, czy ten sposób pobierania jest dobry, bo nie chcę po roku przypadkowo dowiedzieć się, że epic fail zrobiłem i że tak się nie robi tego.

0

odświeżam temat, nie wierzę, że nikt nie wie :)

1

Co ty, zadatki na programistę javy masz, że wszystko chcesz zwalniać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1