5

我有一个发送文件和文件夹的文件传输应用程序。(服务器 - 客户端)
我正在尝试通过 TCP(套接字)发送数据,我已经为传输数据的方式制定了一些规则,所以如果它发送一个包含许多文件的大文件夹,它应该将它们压缩成一个首先是 zip 文件,然后在发送该 zip 文件时,接收方必须对其进行解压缩。所以我决定使用SharpZibLib,我对此有疑问。

  • 我应该为我的应用程序选择哪种类型的压缩?
    我阅读了 ZIP 和 GZIP 之间的区别,发现 GZIP 具有更好的压缩以减小大小,并且由于我以后不需要从 GZIP 文件中提取特殊文件,因此无需使用 ZIP 代替 GZIP!
    但是在那个库中有很多我仍然不知道的类型,所以我应该使用 GZIP 还是其他类型更适合我的应用程序?

    在此处输入图像描述

    PS: 时间优先,使用SharpZipLib的重点是将(太多文件)放在一个文件中,这样发送速度会比一个一个发送(太多文件)快得多。
    更多细节在这里

  • 4

    1 回答 1

    1

    为了速度,您应该使用 gzip / zip。我认为该库允许您选择压缩级别。您应该尝试使用较低的级别,例如 1 到 4,以查看哪种速度和压缩程度最适合您的应用程序。

    gzip / zip 在相同的压缩效率下将在速度上优于 LZW。我发现压缩级别 3 比 LZW 更快并且压缩得更好。

    bzip2 将比 gzip / zip 压缩得更好,但需要更长的时间。

    其他选择不是压缩器。

    于 2012-04-22T01:39:33.093 回答