我有一个发送文件和文件夹的文件传输应用程序。 (服务器-客户端)
我正在尝试通过 TCP(套接字)发送数据,我已经为传输数据的方式制定了一些规则,因此,如果它发送包含许多文件的大文件夹,则应首先将它们压缩为单个 zip 文件,然后再发送发送的 zip 文件,接收者必须将其解压缩。
所以我决定使用SharpZipLib我对此有一个疑问。
我应该为我的应用程序选择哪种类型的压缩?
我阅读了 ZIP 和 GZIP 之间的差异,发现 GZIP 具有更好的压缩来减小大小,并且由于稍后不需要从 GZIP 文件中提取特殊文件,因此无需使用 ZIP 代替 GZIP!
但在该库中,有很多类型我仍然不知道,所以我应该使用 GZIP 还是其他类型更适合我的应用程序?
P.S:
首先优先考虑的是,使用 SharpZipLib 的目的是将(太多文件)放在一个文件中,这样它的发送速度比逐个发送(太多文件)要快得多。
更多详细信息请点击此处 https://stackoverflow.com/questions/10174379/file-transfer-with-maximum-speed-on-lan#comment13056012_10174379.
为了速度,您应该使用 gzip / zip。我认为该库允许您选择压缩级别。您应该尝试低水平,例如1 到 4,看看什么速度和压缩程度最适合您的应用程序。
在相同的压缩效率下,gzip / zip 在速度上会优于 LZW。我发现压缩级别 3 比 LZW 更快并且压缩效果更好。
bzip2 的压缩效果比 gzip / zip 更好,但需要更长的时间。
其他选择不是压缩机。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)