xmpp ライブラリを作成しており、zlib 圧縮データをサポートするストリームを作成しようとしています。私は2つの異なるバージョンを持っています.1つはzlib.netに基づいており、もう1つはSharpZipLibを使用しています. zlib.net バージョンは圧縮を認識せず、SharpZipLib バージョンは無限ループに入ります。適切なコードは、http ://github.com/coder2000/ubiety/tree/master/ の xmpp.compression.zlib および xmpp.compression.sharpziplib にあります。この問題を解決するための助けをいただければ幸いです。
質問する
1650 次
3 に答える
1
いいえ。できる限りクロス プラットフォームになろうとしています。Mono がこれらのクラスを実装しているかどうかはわかりませんし、Microsoft が zlib 圧縮用のクラスを作成したことも知りませんでした。
于 2008-12-01T00:19:01.793 に答える
1
これは問題の直接的な解決策ではありませんが、System.IO.Compression.GZipStream または DeflateStream を試しましたか?
于 2008-12-01T00:07:13.423 に答える
0
詳しくは調べていませんが、SharpZipLib ラッパーが無視offset
しcount
、BeginRead で次のことを行うのは興味深いことです。
public override IAsyncResult BeginRead (byte[] buffer, int offset, int count, AsyncCallback cback, object state)
{
_outBuff = buffer;
if ( _in.IsNeedingInput )
return _innerStream.BeginRead(_inBuff, 0, _inBuff.Length, cback, state);
ZlibStreamAsyncResult ar = new ZlibStreamAsyncResult(state);
cback(ar);
return ar;
}
私をクレイジーと呼んでください、しかしおそらくGZipOutputStream
etcを直接(またはSystem.Compressionの対応物)を使用してください...多くの実装の詳細を保存します...
于 2008-12-01T05:18:53.763 に答える