5

ファイルとフォルダーを送信するファイル転送アプリケーションがあります。(サーバー - クライアント)
TCP (ソケット) 経由でデータを送信しようとしています。データを転送する方法についていくつかのルールを作成しました。そのため、多くのファイルを含む大きなフォルダーを送信する場合は、それらを 1 つのフォルダーに圧縮する必要があります。最初に zip ファイルを解凍し、その zip ファイルが送信されたら、受信者はそれを解凍する必要があります。そのため、 SharpZibLibを使用することにしましたが、それについて質問があります。

  • アプリケーションにはどのタイプの圧縮を選択する必要がありますか?
    ZIP と GZIP の違いについて読んだところ、GZIP の方が圧縮率が高く、サイズを縮小できることがわかりました。後で GZIP ファイルから特別なファイルを抽出する必要がないため、GZIP の代わりに ZIP を使用する必要はありません。
    しかし、そのライブラリにはまだ知らない型がたくさんあるので、GZIP を使用する必要がありますか、それとも別の型が私のアプリケーションに適しているのでしょうか?

    ここに画像の説明を入力

    PS: 最初に優先順位を付けます。SharpZipLib を使用するポイントは、(多すぎるファイル) を 1 つのファイルに入れることです。そのため、(多すぎるファイル) を 1 つずつ送信するよりもはるかに高速に送信されます。
    詳細はこちら

  • 4

    1 に答える 1

    1

    速度を上げるには、gzip / zip を使用する必要があります。ライブラリで圧縮レベルを選択できると思います。低いレベル (1 から 4 など) を試して、アプリケーションに最適な圧縮の速度と程度を確認する必要があります。

    gzip / zip は、同じ圧縮効果で LZW よりも速度が優れています。圧縮レベル 3 は LZW よりも高速で、圧縮率がはるかに優れていることがわかりました。

    bzip2 は gzip / zip よりも圧縮率が高くなりますが、はるかに時間がかかります。

    他の選択肢はコンプレッサーではありません。

    于 2012-04-22T01:39:33.093 に答える