J'essaye d'implémenter la compression MODE Z pour FTP en utilisant C# pour un client FTP que j'ai écrit. Ma compréhension est que MODE Z utilise la même compression que zlib. Je ne peux pas obtenir zlib.net de componentace pour fonctionner. Il hacks la dernière partie du fichier après le téléchargement sur un serveur FTP FileZilla. Où sont les spécifications pour MODE Z? Est-ce que quelqu'un d'autre a eu des problèmes avec zlib.net? La dégonflement dans .NET Framework n'est pas non plus compatible avec MODE Z.Implémentation de la compression MODE Z pour FTP en utilisant C#
Répondre
Je ne pense pas que le mode compressé FTP ait encore atteint un RFC. Il y a un (expiré) Internet Draft de Septembre 2005.
Vous pouvez essayer emailing un des auteurs pour le statut actuel si vous êtes vraiment coincé (voir la section 7, adresses des auteurs).
Les RFC 1950 et 1951 (zlib et deflate respectivement) peuvent également vous être utiles pour le débogage de bas niveau. Je ne comprends pas tout à fait la relation entre ces deux RFCs, mais l'article 3.3.1 des états Projet Internet ci-dessus:
Tous les processus FTP qui prennent en charge dégonfler le mode de transmission DOIT en charge le format de données compressées ZLIB spécifié dans la RFC 1950 [5].
il semble donc que vous utilisez le composant C# correct.
Il serait bon de confirmer où la troncature a lieu: êtes-vous sûr que c'est dans la bibliothèque de compression? Pouvez-vous vider les données compressées avant de télécharger? Pouvez-vous regarder les octets passer par-dessus le fil? Pouvez-vous tracer le côté serveur pour voir s'il reçoit le fichier entier (mais le tronque ensuite)?
Si vous voulez une bibliothèque FTP bon marché qui prend en charge MODE Z, essayez edtFTPnet/Express. Vous pouvez même acheter le code source si vous voulez voir comment nous avons implémenté la compression avec zlib.net.
Il semble que ce produit ait été abandonné, voir http://www.enterprisedt.com/products.html pour les produits actuels dans leur liste. – Contango