を使用してJava Deflater (1.6 is needed)
、特定のサイズの圧縮ブロック (たとえば、常に 1024 バイトの圧縮ブロック) を生成したいと考えています。出来ますか?
入力を追加して、出力バッファがいっぱいになるまで(Deflater::setInput(newData))
圧縮されたバイトを取得しようとし(::deflate(buffer, startFrom, remainingBytes))
ました (例: 1024)。しかし、多くの場合、他のバイトがデフレーターに残っており (たとえば、finished()
false だった)、圧縮された newData のどの部分がそこにあったかを知る方法がありません。
さらに、受信側はさまざまな時点でパケットを受信でき、受信側が持つ唯一の情報は圧縮されたブロック サイズであるため、各パケットは自動整合性を保つ必要があります。
10倍