2011-07-03 6 views
1

J'essaye d'implémenter un plugin de Maven pour télécharger un assembly (un très énorme,> 1.5 Gb) au ftp d'une manière multithread pour gagner du temps pendant la préparation de construction. Y a-t-il une bibliothèque spécifique que je peux utiliser pour cela? Ou s'il y a un moyen d'assembler les pièces téléchargées directement sur le serveur FTP?Uploadeur FTP multithread pour un seul fichier

Merci beaucoup, Vlad.

+0

Vous pouvez utiliser l'API de commons-net pour télécharger des fichiers sur FTP –

+4

Pourquoi pensez-vous que plusieurs connexions à un serveur ftp pour envoyer un fichier seront plus rapides? S'il y a une limite de débit par connexion, il est préférable de réparer le serveur. – IanNorton

+0

@Srikanth Venkatesh J'ai essayé différentes bibliothèques pour cela. Le premier que j'essaie était exactement commons-net. – Vlad

Répondre

0

Comment le multithreading va-t-il gagner du temps? Vous serez certainement limité par la bande passante, et vous ne pouvez pas le faire en multithread.

+0

s'il vous plaît voir mon commentaire adressé à IanNorton comme je suppose qu'il répond à votre question. – Vlad

+1

@Vlad pas. Vous n'avez pas expliqué comment cela peut vous faire gagner du temps. Vos observations sont contraires à la logique et donc suspectes. – EJP

0

La limitation de téléchargement du client FTP est liée à la taille de la fenêtre TCP 64 Ko et à la latence de la connexion. J'ai prouvé que la vitesse de téléchargement simultanée n'est pas limitée uniquement par la bande passante. Signifie même que vous avez un lien de connexion 100Mbps avec 50ms de latence, le max. vitesse de téléchargement pour un seul thread FTP ont juste 1280Kbyte/s.

Solution1, Modifiez la taille de la fenêtre TCP à 129KByte les données de transmission seront doubles. Solution2, Autoriser plus d'un thread avec la même source IP et le fichier source.