2015년 4월 15일 수요일

ICSharpCode.SharpZipLib의 사용

ICSharpCode.SharpZipLib.dll의 Unzip (MemoryStream)
byte[] zipData = new byte[1024];
using (GZipInputStream gzs = new GZipInputStream(new MemoryStream(zipData)))
{
    using (MemoryStream ms = new MemoryStream())
    {
        const int count = 4096;
        byte[] dest = new byte[count];
        for (int length = 0; (length = gzs.Read(dest, 0, count)) > 0; )
            ms.Write(dest, 0, length);
        zipData = ms.ToArray();
    }
}
Unity에 사용한 간단한 unzip 라이브러리, ICSharpCode.SharpZipLib

복수의 파일을 압축하거나 풀수도 있고 다양한 형식을 지원한다.
AssetBundle을 압축하거나 패킷을 압축하는데 활용함.

패킷의 경우 보통 Web에서는 Json위주로 통신하지만 String이다보니 패킷양이 많아지는 경향이 있다.
하여 Json자체를 압축하여 사용하면 패킷통신양을 줄일 수 있다.

출처 : 





댓글 없음:

댓글 쓰기