|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Registered User
Iscritto dal: Jul 2007
Messaggi: 915
|
[java] download segmentato
Ho realizzato un piccolo download manager ( http://www.macupdate.com/info.php/id/26584/jet-it%21 ) ed ora vorrei migliorarlo un po'. In particolare vorrei aggiungere il download segmentato in modo da "accelerare" un po' il download. Come posso implementare una cosa del genere? Esistono gia' librerie per fare qualcosa del genere?
Grazie ![]() |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Cioè un download diviso in più parti ?
Per farlo ti basta sfruttare lo stesso algoritmo che usi per il resume...solamente che chiedi al server un parte (ad esempio "6000000-8000000", invece di "6000000-"). Ovviamente dovrai tenerti consistente una specie di "mappa" che ti dice le parti del file mancanti. |
![]() |
![]() |
![]() |
#3 | |
Registered User
Iscritto dal: Jul 2007
Messaggi: 915
|
Quote:
Come faccio a chiederne solo una parte? Devo controllare manualmente di continuo come sta procedento o c'e' gia' una procedura automatizzata? Ogni pezzo del download sara' scaricato in un file a parte, giusto? Come posso rimettere insieme i pezzi senza danneggiare il file? Al momento ogni download gira in parallelo. Col download segmentato ogni thread genererà altri thread... Quanti download potro' far andare in contemporanea senza avere un'esplosione di thread? Grazie (anche per come mi avete aiutato in precedenza) ![]() edit: ora la richiesta è cosi': connection.setRequestProperty("Range", "bytes=" + totalDownloaded + "-"); Basta modificarla in connection.setRequestProperty("Range", "bytes=" + pezzo1 + "-" + pezzo2); ? Ultima modifica di afsdfdlecosdfsfdcco : 24-12-2007 alle 15:31. |
|
![]() |
![]() |
![]() |
#4 | |||
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
Andrai a scrivere ogni parte del file contemporaneamente al rispettivo offset andando a sovrascrivere gli zero. Quote:
Quote:
![]() |
|||
![]() |
![]() |
![]() |
#5 | ||
Registered User
Iscritto dal: Jul 2007
Messaggi: 915
|
Quote:
Quote:
Mi aspetta una lunga nottata ![]() |
||
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Quote:
![]() Al limite ti fai una classe condivisa che ha il compito di salvare su file i dati nella posizione che specifichi come parametro (così il file lo tiene aperto solo quella classe). |
|
![]() |
![]() |
![]() |
#7 | |
Registered User
Iscritto dal: Jul 2007
Messaggi: 915
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 18:19.