[.NET] Trasferimento File

giovedì 05 giugno 2008 - 14.08

Squall892 Profilo | Newbie

Salve a tutti, spero di aver imbroccato la sezione giusta , vorrei esporvi un problema chi mi ha bloccato riguardo al trasferimento file client-server tramite socket.

Finchè i file che ho provato a trasferire erano limitati (per esempio file di testo da pochi kB, ma anche canzoni da qualche bel MB) non ho avuto problemi e ho usato tranquillamente buffer ( byte[] ).

Ora volevo provare a trasferire file più consistenti come film o addirittura immagini dvd da diversi GB. A questo punto è impensabile usare ancora buffer, la soluzione ottimale dovrebbe essere lo streaming credo.
L'idea è che se da una parte invoco il SendFile per inviare un file immenso dall'altra devo metterci un NetworkStream legato ad un FileStream e leggendo a blocchi scrivere man mano sul file. Il fatto è che il file viene passato tutto ma riscritto "male", penso sia un problema di codifica ma non riesco a risolverlo

Dunque, questo è un pezzo del codice (scritto in C#) per darvi l'idea:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

Ho provato diverse alternative, con lo StreamWriter per esempio, oppure ho provato anche a inviare per blocchi escludendo SendFile... Il risultato però è sempre quello, i file ne escono corrotti ...

Qualche idea per risolvere? In ogni caso se avete alternative migliori proponetemele pure
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5