JSON を使用して C で記述されたレガシー バックエンド システム (サーバー上に aa コンバーターがあります) と通信する Java デスクトップ クライアント ソフトウェアが、現場で大量に展開されたときに、単純に帯域幅を消費しすぎている状況があります。
圧縮オプションを検討した結果、一般的な JSON 圧縮ツールは自分の状況には合わないという結論に達しました。それらは、データベース クエリの結果をネットワーク経由で渡すシナリオに基づいているようですが、これは私の状況ではありません。簡単に圧縮できる便利な行/列アルゴリズムはありません。私たちのデータはもっと複雑です。
そこで、圧縮、Java の DeflaterOutputStream および InflaterInputStream (またはおそらくそれらの GZIP または ZIP フレーバー) の使用に取り掛かります。C 側には、サーバーが実行されている RedHat から入手できる zlib ライブラリなど、似たようなものがあるでしょう。
ワームの缶に足を踏み入れる前に、経験のある人が zlib 圧縮と Java でサポートされている圧縮の互換性について教えてもらえますか? Java 圧縮オプションのどちらが優れているか? 他より速い?
ちなみに、プロトコルは双方向です。サーバーとクライアントはどちらも JSON を使用してメッセージをエンコードするため、このシナリオでは両側で圧縮と解凍ができる必要があります。前もって感謝します。