大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 技术开发 -> 程序开发 -> 使用Java实现网络传输数据的压缩

使用Java实现网络传输数据的压缩

时间: 2021-07-31 作者:daque

 q: 本周,我回复了两个运用java举行数据收缩的题目.第一个题目是: 我还好吗本领收缩那些不在文献中的数据.第二个题目是: 我以极大的关切观赏了todd sundsted的"收缩你的数据,进而普及你的搜集运用步调的本能",然而读完后我却有点悲观.当我读到作品题目时我很欣喜.我想我总算找到领会决题目的方法了.    在咱们的公司,咱们试图普及一个构造数据的rmi运用步调的本能.效劳器端举行了绝大局部的处置和优化.咱们花了一年半的功夫去普及本能,然而此刻可见瓶颈在乎数据的传输上.在一天的任何功夫内,咱们都有大概在存户和效劳器之间传递不计其数的数据.      一种大概的处置方法,我倡导咱们不妨在把数据归来给存户端时先收缩那些数据,这在todd的作品中仍旧说得很领会了.然而,作品中的例子却是收缩文献,而不是咱们所须要的----对数据举行收缩.    在rmi中的实行中,咱们先从数据库博得数据,再把数据放入一个列表中,接着把这个列表归来给存户端,结果再把它们插入jtable中.我想在把数据归来给存户时,开始把列表中的数据收缩,而后在存户端解收缩,结果把数据插入到表格中.如许的办法可行吗?a:迩来我收到了少许对于todd的作品的疑义.很多读者群看上去对作品中的举例很迷惑.由于作品中的例子是以文献收缩为中心的.   开始回复第一个题目,当你运用zipinputstream 和 zipoutputstream 并没有强迫你必需运用文献.独一要提防的是你必需把数据变换为字节数组的情势.  第二个题目比拟辣手.在搜集中,以rmi办法通讯就须要作少许安排了.为了在传递数据之前就让rmi举行数据收缩,你必需创造一个不妨收缩数据的新的套接字.而后,当你创造了一个套接字后,你得报告rmi运用这一套接字.  以次是创造一个rmi情势的套接字的扼要办法:  1:采用大概创造一个新的套接字.(不妨参看sun's的"创造一个典范的套接字").  2:创造一个效劳器端的套接字.  3:创造一个rmiclientsocketfactory  4:创造一个rmiserversocketfactory  5:创造一个接受了unicastremoteobjec的长途东西,进而运用新的factories.  按照这一大概的办法,咱们来看每一步怎样简直的实行. 办法1: 创造zipsocket 因为要举行zip收缩,咱们从新创造如许的套接字mport java.io.inputstream;import java.io.outputstream;import java.util.zip.zipinputstream;import java.util.zip.zipoutputstream;import java.net.socket;public class zipsocket extends socket {    private inputstream in;    private outputstream out;        public zipsocket() { super(); }    public zipsocket(string host, int port)         throws ioexception {            super(host, port);    }        public inputstream getinputstream()         throws ioexception {            if (in == null) {                in = new zipinputstream(super.getinputstream());            }       return in;    }    public outputstream getoutputstream()         throws ioexception {            if (out == null) {                out = new zipoutputstream(super.getoutputstream());            }            return out;    }        public synchronized void close() throws ioexception {        outputstream o = getoutputstream();        o.flush();        super.close();    }}办法2: 创造zipserversocket import java.net.serversocket;import java.net.socket;import java.io.ioexception;public class zipserversocket extends serversocket{  public zipserversocket(int port) throws ioexception {        super(port);  }    public socket accept() throws ioexception {     socket socket = new zipsocket();    implaccept(socket);    return socket;  }}办法3:创造zipclientsocketfactory 存户端的factory的创造必需按照以次的情势: import java.io.ioexception; import java.io.serializable; import java.net.socket; import java.rmi.server.rmiclientsocketfactory;public class zipclientsocketfactory     implements rmiclientsocketfactory, serializable {     public socket createsocket(string host, int port)         throws ioexception {             zipsocket socket = new zipsocket(host, port);             return socket;     } }办法4:创造zipserversocketfactory import java.io.ioexception; import java.io.serializable; import java.net.serversocket; import java.rmi.server.rmiserversocketfactory;   public class zipserversocketfactory     implements rmiserversocketfactory, serializable {     public serversocket createserversocket(int port)         throws ioexception {             zipserversocket server = new zipserversocket(port);             return server;     } }办法5: 创造一个接受了unicastremoteobjec的长途东西,进而运用新的factories. public class yourrmiobject extends unicastremoteobject {public yourremoteobject( int port ) {super( port, new zipclientsocketfactory(), new zipserversocketfactory() );}// 剩下的是你本人的步调实行}此刻你的通讯数据获得了收缩.对于作家:tony sintes 是一个独力接洽人,同声也是first class consulting, inc. 的创办人.这一接洽公司重要全力与对各个各别的企业体例举行量身定制和培养和训练 . 课余功夫,tony 是一个主动的自在作者,同声也是sams出书的<<21天学通面向东西编制程序>>的作家 (sams, 2001; isbn: 0672321092). 资源:to download the source code that accompanies this article, go to: http://www.javaworld.com/javaworld/javaqa/2001-12/ziprmi/01-qa-1207-ziprmi.zip "zip your data and improve the performance of your network-based applications," todd sundsted (javaworld, november 1998): http://www.javaworld.com/javaworld/jw-11-1998/jw-11-howto.html "creating a custom rmi socket factory," (sun microsystems, 1999): http://java.sun.com/products/jdk/1.2/docs/guide/rmi/rmisocketfactory.doc.html "creating a custom socket type," (sun microsystems, 1999): http://java.sun.com/products/jdk/1.2/docs/guide/rmi/sockettype.doc.html be sure to check out tony's suggested reading list at: http://www.firstclassconsulting.net/reading.html for more rmi stories, visit the rmi / rmi-iiop section of javaworld's topical index: http://www.javaworld.com/channel_content/jw-rmi-index.shtml want more? see the java q&a index for the full q&a catalog: http://www.javaworld.com/columns/jw-qna-index.shtml for over 100 insightful java tips from some of the best minds in the business, visit javaworld's java tips index: http://www.javaworld.com/columns/jw-tips-index.shtml learn the basics of client-side java in our java beginner discussion. core topics include the java language, the java virtual machine, apis, and development tools: http://forums.idg.net/webx?50@@.ee6b804 sign up for javaworld's free applied java newsletter: http://www.idg.net/jw-subscribe you'll find a wealth of it-related articles from our sister publications at idg.net 翻译:我感触这篇作品很有适用性,而且报告了咱们一种在搜集通讯时举行数据收缩的一个可行的处置方法.以是把它翻译出来,蓄意大师都能学好这一本领.这篇作品翻译起来比拟大略.然而因为程度有限,即使不对的场合恳请大师教正. bootcool@263.net.

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.