[java]Multi-threaded file downloader.

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
tommmmmm
Sędziwy Jeż
Sędziwy Jeż
Posty: 45
Rejestracja: 04 paź 2008, 11:20
Płeć: Mężczyzna
Wersja Ubuntu: 10.10
Środowisko graficzne: Xfce
Architektura: x86_64
Kontakt:

[java]Multi-threaded file downloader.

Post autor: tommmmmm »

Poszukuję programu w javie który ma opcje ściągania jednego pliku w trybie wielowątkowym (tzn. jak typowe download managery).

Jedyne co znalazłem do tej pory to szczątki

Kod: Zaznacz cały

http://stackoverflow.com/questions/3409608/java-multithreaded-file-downloading-performance
W porywach może to być jakiś typowy trick z już zainstalowanymi programami w linuxie. Nie mam praw instalacji na hoście (kompilacji też, więc instalka aria2c odpada) więc muszę sobie radzić z tym co mam. Wie ktoś jak zrobić multi-threaded download jakoś łatwo ?
ps: czytałem man wget i man curl - tam nie ma takiej opcji.
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Re: [java]Multi-threaded file downloader.

Post autor: beluosus »

Chodzi Ci o kilka połączeń ściągających jeden plik? Jeśli tak to sprawdź czy jest aria2c, parametr -x.
TJB
Sędziwy Jeż
Sędziwy Jeż
Posty: 36
Rejestracja: 05 paź 2010, 17:24
Płeć: Mężczyzna
Wersja Ubuntu: 10.04
Środowisko graficzne: GNOME
Architektura: x86

Re: [java]Multi-threaded file downloader.

Post autor: TJB »

1) Java: Tworzysz tyle wątków ile Ci trzeba i rzucasz je do ściągania. :-) Unikasz pętli while, miast tego używasz awaitTemination(). Znakomitą większość potrzebnego kodu bierzesz z linku jaki podałeś, zostaje Ci napisanie funkcji dzielącej plik na równe części po zczytaniu jego rozmiaru.

2) wget / curl - używasz fork'a. I też dzielisz plik.

Nie pisałem jeszcze czegoś takiego, ale tak bym się do tego zabrał.
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości