在Unity3d中使用GZip来压缩网络传输数据
来源:互联网 发布:启示录2优化补丁 编辑:程序博客网 时间:2024/05/01 13:43
项目中网络通讯需要下载配置数据,有的数据块非常大,比较耗时,所以想到先压缩数据来传输!
因为Unity中的.net支持是有限制的,所以C#自带的GZip的压缩方法不能够使用。
可以到下面网址去下载一个专门的dll来处理数据的GZip压缩:
http://www.icsharpcode.net/OpenSource/SharpZipLib/Download.aspx
在DownLoad目录下,我们直接下载dll文件。
将下载的dll文件引入到工程中。
引入头部:
using ICSharpCode.SharpZipLib;using ICSharpCode.SharpZipLib.GZip;
以下代码实现了压缩和解压的方法:
MemoryStream ms = new MemoryStream(); GZipOutputStream gzip = new GZipOutputStream(ms); byte[] binary = Encoding.UTF8.GetBytes("sddddddddd"); gzip.Write(binary, 0, binary.Length); gzip.Close(); byte[] press = ms.ToArray(); Debug.Log(Convert.ToBase64String(press) + " " + press.Length); GZipInputStream gzi = new GZipInputStream(new MemoryStream(press)); MemoryStream re = new MemoryStream(); int count=0; byte[] data=new byte[4096]; while ((count = gzi.Read(data, 0, data.Length)) != 0) { re.Write(data,0,count); } byte[] depress = re.ToArray(); Debug.Log(Encoding.UTF8.GetString(depress));
0 0
- 在Unity3d中使用GZip来压缩网络传输数据
- 在Unity3d中使用GZip来压缩传输数据
- 在Unity3d中使用GZip来压缩传输数据
- 在 xfire中使用 GZip来 压缩 传输量
- android开发中使用GZIP压缩传输
- android开发中使用GZIP压缩传输
- 服务器使用Gzip压缩数据,加快网络传输(Java 例子)
- 服务器使用Gzip压缩数据,加快网络传输(Java 例子)
- 服务器使用Gzip压缩数据,加快网络传输(Java 例子)
- 服务器使用Gzip压缩数据,加快网络传输(Java 例子)
- android接口中json数据的传输中使用gzip压缩
- 减小网络传输图片大小,使用gzip进行压缩
- ext_js使用GZIP压缩传输
- 使用GZIP压缩的方式向客户端传输响应数据
- 在BREW中使用Gzip压缩来减少应用程序包的大小
- Java中使用filter机制来GZIP压缩网页
- Linux中使用gzip来压缩/解压 *.gz文件
- 开启gzip压缩传输
- 关于Glide图片加载框架的使用详解
- 阿里云服务器调用微信支付接口慢的解决方案 (api.mch.weixin.qq.com)
- javascript 反序列化json字符串
- 获取Listview所有Item高度总和
- Centos 7.2 PHP 7.0 安装
- 在Unity3d中使用GZip来压缩网络传输数据
- 用maya API删除动画曲线多余的关键帧——掐头去尾删帧
- cordova 移动跨平台开发(二) ---- 使用ionic界面开发
- 如果你来投票决定百度的生死,你会如何抉择?
- OpenStack一键安装for CentOS
- jquery ajax,ashx,json的用法总结
- hdu_1495_非常可乐(bfs模拟)
- 后台数据控制前端checkbox(是否选中)
- Android studio 如何修改工程的包名