`
sdkongkong
  • 浏览: 39253 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

服务器端和客户端交互时的压缩

 
阅读更多
服务器端:
private byte[] compress(byte[] data) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 压缩
GZIPOutputStream gos = new GZIPOutputStream(baos);
gos.write(data, 0, data.length);
gos.finish();
byte[] output = baos.toByteArray();
baos.flush();
baos.close();
return output;
}
private byte[] compress(byte[] data) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
// 压缩
GZIPOutputStream gos = new GZIPOutputStream(baos);
gos.write(data, 0, data.length);
gos.finish();
byte[] output = baos.toByteArray();
baos.flush();
baos.close();
return output;
}

String json = caseReportService.findAppCaseQueryByPage(contentresult);
//System.out.println("json.length"+json.length());
byte[] output = compress(json.getBytes("UTF-8"));
//System.out.println("output.length"+output.length);
OutputStream out = response().getOutputStream();
response().setCharacterEncoding("UTF-8");
response().setHeader("Content-Encoding", "gzip"); 
response().setContentLength(output.length); 
//System.out.println(new String(output,"UTF-8"));
out.write(output);
out.flush();
out.close();

客户端 :
if (headerField != null && headerField.indexOf("gzip") > -1) {
result = zipToString(in);
} else {
result = inputStreamToString(in);
}
public static String zipToString(InputStream is) throws IOException {
GZIPInputStream gzin = new GZIPInputStream(is);

InputStreamReader isr = new InputStreamReader(gzin, "UTF-8");
java.io.BufferedReader br = new java.io.BufferedReader(isr);
StringBuffer sb = new StringBuffer();
String tempbf;
while ((tempbf = br.readLine()) != null) {
sb.append(tempbf);
}
isr.close();
gzin.close();
System.out.println("sb to String: zip" + sb.toString());
return sb.toString();
}
分享到:
评论

相关推荐

    WEB数据交互的艺术

    资源名称:WEB数据交互的艺术内容简介: 目的:有关WEB数据交互方面的知识 对象:面向的是有一定WEB前端研发基础的人 Server数据推送 异域服务器数据交互 异域网面跨帧数据交互 客户端网页跨浏览器数据...

    一个用于Web游戏的聊天室(包括设计文档和源代码)

    ChatDemo/ChatDemo.HttpHandler-客户端http处理器(客户端和服务器端的交互就靠这些文件了) ChatDemo/ChatWebDemo-客户端的实现代码 ChatDemo/ChatWebDemo/ServerManager.aspx-此文件可控制服务器的启动和关闭(客户端...

    智能家居系统远程监控技术研究与实现.doc

    本文采用混合式P2P网络拓扑结构,以Openfire服务器作为中心节点,负责设备端和客户端的消息交互,以STUN方式穿透NAT构建P2P通道。设备端采集到的视频数据,由P2P通道发送至客户端,客户端调用FFmpeg解码、播放。系统...

    JAVA局域网飞鸽传书软件设计与实现(源代码+论文).zip

    该压缩包包含JAVA局域网飞鸽传书软件的设计与实现部分,以及对应的源代码和...源代码中包含了客户端和服务器端的代码,可以供开发者参考和借鉴。论文详细介绍了该软件的设计与实现过程,以及相关技术细节和优化措施。

    windows下iperf 2.0.4

    当客户端到服务器端的测试结束时,服务器端通过-l选项指定的端口(或默认为客户端连接到服务器端的端口),反向连接至客户端。当客户端连接终止时,反向连接随即开始。如果需要同时进行双向测试,请尝试-d参数。 -t,...

    基于Swoole扩展开发游戏服务器框架,示例实现h5游戏开发.rar

    [客户端交互测试工具](images/demo5.png) ### 三,特性 * 对websocket,http,tcp协议进行封装,异步处理任务 * 实现前后端二进制封包解包,采用的是msgpack扩展,msgpack对数据进行了压缩,并实现粘包处理, ...

    图片动画JSP目录直读程序-jsp-mlzd.rar

    这种技术通常用于开发服务器端的应用程序,特别是在使用Java作为后端语言的环境中。JSP页面在服务器上执行,然后将生成的HTML内容发送到客户端浏览器,以便用户可以查看最终的网页。"目录直读程序"可能是指一个能够...

    Java远程监控系统设计及功能介绍.doc

    Java远程监控系统设计及功能介绍 Java Java远程监控系统是一个C/S系统,分为服务器端和客户端两部分。服务端与客户端 建 立远程连接,可以抓取客户端的图像,还可以进行远程操作。要实现Java远程监控 系统, 主要是...

    SecureCRT for linux

    而通过使用 SSH客户端与服务器端通讯时,用户名及口令均进行了加密,有效防止了对口令的窃听。同时通过 SSH的数据传输是经过压缩的,所以可以提高数据的传输速度,既然如此我们为什么不使用它呢。SSH是由客户端和...

    基于MVC的JavaScript Web富应用开发

    关键是如何平滑的将服务器端的复杂度移植到客户端,这并不容易做到。这本书将专注于讲述如何构建“优雅又不失高水准”(state of the art)的JavaScript应用,包括软件架构、模板引擎、框架和库、同服务器的消息通信...

    老男孩python 四期

    ※分别开发服务器端和客户端,通过Socket模块实现网络通信,模拟实现FTP主要的文件下载、上传功能、实现多用户并发在线使用。 第六天 1、 项目实战三、开发运维审计服务器,实现公司全网用户操作审计需求 ※开发一个...

    向日葵甘特图组件1.5版

    向日葵甘特图支持从服务器端动态加载数据,先进的按需加载技术使用户能够轻松应对大数据量任务的呈现问题。 向日葵甘特图是一个免费的web图形开发组件,它提供了非常丰富的用户二次开发API和完整的在线文档,参见...

    X3-BLOG 博客源码

    度远远超过了市面上所有的BLOG产品,有效的减轻了服务器的带宽压力,服务器端使用四大动态网站开发语言中速度 最快的ASP.NET(C#)编写,屏弃了传统的控件开发方式,所有执行过程采用单向流的生成方式,使其对服务器...

    JAVA上百实例源码以及开源项目源代码

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    JAVA上百实例源码以及开源项目

     基于JAVA的UDP服务器模型源代码,内含UDP服务器端模型和UDP客户端模型两个小程序,向JAVA初学者演示UDP C/S结构的原理。 简单聊天软件CS模式 2个目标文件 一个简单的CS模式的聊天软件,用socket实现,比较简单。 ...

    Json是什么?

    Json是什么? json的全称为:JavaScript Object Notation,是一种轻量级的...3. 支持多种语言, 包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端的解

    X3BLOG AJAX国产大型开源多用户博客系统 1.1.0.beta1源码版

    * 加入了大量的服务器端和脚本代码注释 * 实现对最新的Google Chrome浏览器的支持 * 优化了安装程序,杜绝了对安装目标设置ASP.NET版本是导致IIS进程崩溃的现象 * 解决了作为虚拟目录执行时的web.config继承问题...

Global site tag (gtag.js) - Google Analytics