博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用GZIP来压缩socket传输的序列化的类
阅读量:5974 次
发布时间:2019-06-19

本文共 539 字,大约阅读时间需要 1 分钟。

  用ObjectOutputStream来序列化类再通过socket传输是方便的网络通信方式。但是一旦数据量较大时,天朝小水管就表示压力很大,压缩数据成了不二的选择。很自然的地想到用GZIPOutputStream来压缩数据,用GZIPInputStream来解压数据。

    原以为这样很简单,问题来了,程序陷入了等待(死锁)。网上搜了一下,发现有人已经遇到这样的问题了

http://topic.csdn.net/t/20040427/18/3014290.html

虽然没有给出答案,但是最后的那个回复给了我启发。原来对GZIPOutputStream flush是不够的,猜测可能是要等到一定的数据量才进行压缩。目标是显然的,就是强制它压缩。看到了GZIPOutputStream有个方法finish(),经测试果然有效。

顺便吐槽下这篇文章,http://www.360doc.com/content/06/0915/14/10610_208147.shtml

就是用那种死锁的写法,作者怎么都不测试一下呢。。。

 

本文转自 dogegg250 51CTO博客,原文链接:http://blog.51cto.com/jianshusoft/766760,如需转载请自行联系原作者

你可能感兴趣的文章
python3基础知识学习记录
查看>>
10年.NET老程序员推荐的7个开发类工具
查看>>
C#核心编程结构(2)
查看>>
rename设计思想(Perl版)
查看>>
第二次冲刺 第七天
查看>>
矩阵之矩阵乘法(转载)
查看>>
前端性能优化---缓存篇SDK
查看>>
Linxu常用命令
查看>>
Application called By IE on Pseudo B/S Mode
查看>>
leetcode 15 三数之和
查看>>
DevExpress XtraReports 入门六 控件以程序方式创建一个 交叉表 报表
查看>>
传图识别字体--求字体网
查看>>
Python操作Cassandra数据库
查看>>
keycode值对照表
查看>>
highcharts 切换
查看>>
【解决】
查看>>
elasticsearch 索引,更新,增量更新,不停机修改升级 ,简单使用
查看>>
LISTVIEW
查看>>
MySQL性能指标计算方式
查看>>
未解决的
查看>>