BrainSpace.it » web
mar 30

 

Nella seconda parte della serie “Java ed il protocollo HTTP” abbiamo imparato come scaricare un file da un server HTTP remoto leggendo un flusso sequenziale di dati; in questa terza parte sfrutteremo il capo “Range” dell’header HTTP per scaricare il file remoto dividendolo in più segmenti che saranno scaricati in modo parallelo. La figura seguente può aiutare a capire il procedimento che, normalmente, è definito multi-threading download:

schema_mutlithread_dl.png

 

E questo è il risultato finale che otterremo:

L'applicazione in esecuzione - Fare click per vederla a dimensioni reali

SimpleMultithreadDownloader in esecuzione (Fai click per vedere l’immagine a dimensione reale)

Ok, ora che abbiamo un idea di massima di cosa vogliamo ottenere cerchiamo di dare un occhiata a come è organizzato il progetto; i sorgenti ed i file di progetto per l’IDE NetBeans sono disponibili sotto licenza GPL sezione “Riferimenti”.

Leggi il resto del post »

mar 30

in “Java ed il protocollo HTTP (Prima Parte)” abbiamo visto come richiedere una connessione ad un server HTTP, cosa interessante, ma anche abbastanza inutile dal punto di vista dell’utente se non a scopo indicativo.

In questa seconda parte vedremo un semplice classe che si occupa di scaricare un file da un indirizzo URL remoto in un file su un percorso locale in modo sequenziale.

Il codice è ampiamente commentato, quindi dovrebbe essere di facile comprensione per chi ha già seguito il primo articolo della serie o ha un minimo di dimestichezza con le api di rete Java.

Leggi il resto del post »

ott 29

In questa breve serie di mini-tutorials vorrei ilustrare le tecniche base a disposizione del linguaggio java per interagire con un server HTTP usando le API del package standard java.net.

In questa prima parte vedremo come instaurare inviare una richiesta ad un server HTTP e come leggere l”intestazione di risposta.

Leggi il resto del post »

Creato Da: Tommaso Frazzetto su modello del template Starrynight
Tutto il contenuto del blog è coperto da licenza Creative Commons