質問

私が書いたFTPクライアントのC#を使用して、FTPのモードz圧縮を実装しようとしています。私の理解では、モードZはZlibと同じ圧縮を使用することです。 componentaceからzlib.netを動作させることはできません。 FileZilla FTPサーバーにアップロードした後、ファイルの最後の部分をハッキングします。モードZの仕様はどこにありますか?他の誰かがZlib.netに問題を抱えていましたか? .NETフレームワークのデフレートもモードZと互換性がありません。

役に立ちましたか?

解決

FTP圧縮モードがまだRFCになっているとは思わない。 (期限切れ)がありますインターネットドラフト 2005年9月から。

本当に立ち往生している場合は、現在のステータスについて著者の1人に電子メールを送信してみるかもしれません(セクション7を参照してください。 著者のアドレス).

RFCS 19501951 (それぞれZlibとDeflate)は、低レベルのデバッグにも役立つ場合があります。私はこれらの2つのRFCの関係を完全には理解していませんが、上記のインターネットドラフト状態のセクション3.3.1は次のとおりです。

デフレート伝送モードをサポートするすべてのFTPプロセスは、RFC 1950で指定されたZLIB圧縮データ形式をサポートする必要があります[5]。

したがって、確かに正しいC#コンポーネントを使用しているように聞こえます。

切り捨てがどこで起こっているかを確認するのは良いことです。圧縮ライブラリにあると確信していますか?アップロードする前に圧縮データをダンプできますか?バイトがワイヤーを越えるのを見ることができますか?サーバー側をトレースして、ファイル全体を受信するかどうかを確認できますか(ただし、切り捨てます)?

他のヒント

モードZをサポートする安価なFTPライブラリが必要な場合は、試してみてください edtftpnet/express. 。 zlib.netで圧縮を実装した方法を見たい場合は、ソースコードを購入することもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top