Manière fiable et rapide pour transférer de gros fichiers sur Internet
Je travaille avec un programme d'installation impliquant de nombreux clients d'Ordinateurs et d'un serveur de machines. J'ai besoin d'organiser un fiable et rapide de la méthode de transfert de fichiers entre ces Pc, qui sera lancé en C# les applications en cours d'exécution sur les deux. Tout client peut vouloir envoyer/recevoir des données à partir de n'importe quel serveur. Les options sont:
- FTP - Utilisation FtpWebRequest ou SOSFTP de télécharger des fichiers sur un serveur FTP. Le serveur vérifie la présence de nouveaux fichiers sur son système de fichiers et ne les étapes requises.
- SCP - transfert de fichiers Sécurisé. L'utilisation de même que FTP, mais une sécurité accrue entre les machines. Probablement plus lent que FTP.
- DropBox /Box.Net - Utiliser une ligne de solution de stockage en cloud avec une bibliothèque comme SharpBox. Peut être gratuit ou payant. Peut être moins sûr compte tenu de la partie a vos fichiers.
- UDP - Utiliser une bibliothèque comme EME ou GoAnywhere pour le transfert de données de PC à PC directement via UDP. Probablement plus rapide, mais probablement plus fiables puisque il utilise personnalisé de la technologie.
Que recommandez-vous?
source d'informationauteur Robinicks | 2012-07-12
Vous devez vous connecter pour publier un commentaire.
J'ai une super opinion biaisée, venant d'une entreprise qui rend le logiciel de transfert de fichiers, donc je suis en train de mettre l'avertissement avant et au centre pour prendre tout ce que je dis avec un grain de sel. 😉
Si vous êtes de partage de fichiers de très grande taille à plusieurs points de terminaison, vous êtes bien servi avec de deux choses l'une:
1 - La MFT solutions généralement l'utilisation de TCP-fonction de transfert (comme FTP) comme mécanisme de transport, mais incluent habituellement plus de fiabilité mécanismes qui ne sont pas trouvés dans le plus pur TCP. Ils comprennent également des outils pour planifier et organiser des transferts entre de nombreux points de terminaison. Au meilleur de ma connaissance, il n'y a pas significatif de la MFT des solutions qui sont disponibles gratuitement ou à faible coût, mais il ya une pléthore de classe entreprise MFT solutions à coûts prévus.
2 - depuis plusieurs années maintenant, certaines entreprises ont construit des propriétaires de contrôle et la fiabilité des mécanismes d'protocoles construit au-dessus d'UDP. Par la création de cette couche personnalisée, UDP (qui n'a pas la fiabilité de sa propre réalité devient de plus en PLUS fiables et peuvent avoir plus de fonctionnalités que TCP transfert peut jamais avoir, tout en n'étant pas affectées par la perte de paquets et la latence (lire aussi: en général beaucoup plus rapide des vitesses de transfert). Ce protocole n'est pas nécessairement indépendant de la MFT, soit (il seront de par leur nature, certains MFT caractéristiques et les vendeurs pourraient le faire cuire dans une solution MFT), mais est potentiellement utilisable pour son protocole brut (via API) et sans tous les signes extérieurs de l'INTERFACE utilisateur d'un traditionnel "MFT solution".
Il y a open-source UDP protocoles de transfert de fichiers comme un Tsunami ou un type défini par l'utilisateur. Ils ne sont pas particulièrement bien entretenu ou riche (il y a certains de mes préjugés!) et autant que je sache, aucun n'a un code C# de la bibliothèque. Sur la même note, cependant, aucun des offres commerciales que je suis conscient d'avoir un code C# de la bibliothèque, bien que les wrappers sont disponibles.
Si les types de transferts que vous décrivez sont va être régulière et continue dans le cadre de l'organisation de ses activités quotidiennes, j'ai du mal à recommander quoi que ce soit au-delà de ce que je mentionne ci-dessus. Et ce "droit" (ou tout au moins sans un non-trivial projet de développement), vous voudrez probablement une solution commerciale.
Je l'ai trouvé intéressant que GoAnywhere est mentionné ici. Il est considéré comme une solution MFT. J'ai utilisé de la MFT pour plusieurs années et l'a trouvé très efficace en faisant exactement ce que vous décrivez ici sans avoir à écrire du code C#. Ce n'est pas gratuit, mais je pense qu'il vaut bien le coût.
Il vous permet d'automatiser et de planifier les différents protocoles de transfert tels que FTP, SFTP, FTPS, PGP, HTTPS, et aussi à travers les connexions réseau à plusieurs partagé pc et des serveurs. MFT me permet aussi de travailler sur des modifications de mise en forme si j'ai besoin de manipuler les données pour travailler avec des applications différentes. Exécuter des requêtes pour extraire les données dont j'ai besoin à partir de diverses sources de données. Il enregistre également toutes les transactions afin que je puisse vérifier qu'il a envoyé les fichiers et peut être configuré pour m'avertir par mail si il y a des erreurs. Je l'ai trouvé pour être l'outil parfait pour tous mes transfert des données.
Je ne suis PAS un employé de la MFT entreprises de logiciels, mais un client très heureux qui aime le produit. Il a fait de ma vie de travail beaucoup plus facile. Il est un excellent exemple de la façon dont il aide le personnel ici à http://blog.linomasoftware.com/2012/01/24/managed-file-transfer-changed-my-life/
Vous pouvez utiliser le streaming fonction de WCF
Que je comprends de ce que vous avez écrit, le partage des données pour tout le monde client que serveur. Alors, pourquoi ne pas envisager d'utiliser protocole torrent. Ici est une bibliothèque open source.
http://www.mono-project.com/MonoTorrent