Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

Comprimere e decomprimere un array di byte

Se si devono inviare array di byte da un client ad un server e viceversa, attraverso una connessione TCP, comprimendo i dati prima dell'invio si può ridurre il traffico di rete. A questo scopo, è possibile utilizzare una delle classi che fa parte della libreria SharpZipLib:

public byte[] Compress(byte[] buffer) { using (MemoryStream ms = new MemoryStream()) { int size = buffer.Length; using (BinaryWriter bw = new BinaryWriter(ms)) { //Scrive la lunghezza originale dell'array. bw.Write(size); using (BZip2OutputStream zip = new BZip2OutputStream(ms)) zip.Write(buffer, 0, size); } return ms.ToArray(); } } public byte[] Decompress(byte[] buffer) { using (MemoryStream ms = new MemoryStream(buffer)) { using (BinaryReader br = new BinaryReader(ms)) { //Legge la lunghezza dell'array di byte decompresso. int size = br.ReadInt32(); using (BZip2InputStream unzip = new BZip2InputStream(ms)) { byte[] result = new byte[size]; unzip.Read(result, 0, size); return result; } } } }

Tutto il codice ruota intorno agli oggetti BZip2OutputStream e BZip2InputStream, utilizzati rispettivamente per comprimere e decomprimere gli array. Questo esempio, inoltre, funziona anche se il client oppure il server sono realizzati con il .NET Compact Framework, che è pienamente supportato dalla libreria SharpZipLib.

Print | posted on Sunday, January 21, 2007 2:24 PM | Filed Under [ C# ]

Feedback

Gravatar

# re: Comprimere e decomprimere un array di byte

Sì, hai ragione, ho dimenticato di dire che questo sistema può essere utilizzato anche con il .NET Compact Framework, che non dispone del namespace System.IO.Compression. Grazie per il commento, provvedo subito ad aggiornare il post!
1/21/2007 3:29 PM | Marco Minerva
Gravatar

# Re: Comprimere e decomprimere un array di byte

un mio post di un po' di tempo fa...
http://blogs.ugidotnet.org/idamiani/archive/2006/03/03/36068.aspx
1/21/2007 3:30 PM | Igor Damiani
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET