Il problema e` avere tutti i dati.
Per la progress-bar devi conoscere la dimensione del file e la quantita` di byte che sono passati.
La dimensione del file, pero`, il server la puo` sapere solo alla fine, mentre conosce la quantita` di dati passati.
Il client da parte sua, non conosce nulla, per cui deve ricevere input dal server.
Come vedi la cosa e` in linea di massima impossibile, solo in qualche caso molto complessa.
Ciao
Michele