12

私は多くのクライアントPCといくつかのサーバーマシンを含むセットアップで作業しています。これらのPC間でファイル転送の信頼性が高く高速な方法を整理する必要があります。これは、両方で実行されているC#アプリによって開始されます。すべてのクライアントは、任意のサーバーからデータを送受信したい場合があります。オプションは次のとおりです。

  • FTP- FtpWebRequestまたはSOSFTPを使用して、FTPサーバーにファイルをアップロードします。サーバーはファイルシステム上の新しいファイルをチェックし、必要な手順を実行します。

  • SCP-安全なファイル転送。FTPと同じ使用法ですが、マシン間のセキュリティが向上します。おそらくFTPよりも遅いです。

  • DropBox/Box.Net- SharpBoxなどのライブラリでオンラインクラウドストレージソリューションを使用します。無料/有料の場合があります。上記の当事者があなたのファイルを持っていることを考えると、安全性が低い可能性があります。

  • UDP- EMEGoAnywhereなどのライブラリを使用して、UDPを介してPCからPCに直接データを転送します。カスタムテクノロジーを使用しているため、おそらく高速ですが、信頼性は低くなります。

おすすめは何ですか?

4

4 に答える 4

10

私はファイル転送ソフトウェアを製造している会社からの非常に偏った意見を持っているので、私は免責事項を前面に出し、私が言うことすべてを一粒の塩でとらえています。;-)

非常に大きなファイルを複数のエンドポイントと共有している場合は、次の2つのいずれかが適切に提供されます。

  1. MFT(マネージドファイル転送)ソリューション
  2. UDPベースのプロトコルを使用する製品またはAPI

1-MFTソリューションは通常、トランスポートメカニズムとしてTCPベースの転送(FTPなど)を使用しますが、通常、純粋なTCPにはない追加の信頼性メカニズムが含まれています。また、多くのエンドポイント間の転送をスケジュールおよび整理するためのツールも含まれます。私の知る限り、無料または低コストで利用できる重要なMFTソリューションはありませんが、予想されるコストでエンタープライズグレードのMFTソリューションが多数存在します。

2-ここ数年、一部の企業は、UDP上に構築されたプロトコルに独自の制御および信頼性メカニズムを組み込んでいます。このカスタムレイヤーを作成することにより、UDP(独自の信頼性はありません)は実際に信頼性が高くなり、TCPベースの転送よりも多くの機能を備え、パケット損失や遅延の影響を受けません(通常は多くの場合)より速い転送速度)。このプロトコルも必ずしもMFTから独立しているわけではありませんが(本質的にいくつかのMFT特性があり、ベンダーはそれをMFTソリューションに組み込む可能性があります)、従来のUIトラップなしで(APIを介して)生のプロトコルに使用できる可能性があります「MFTソリューション」。

TsunamiやUDTのようなオープンソースのUDPベースのファイル転送プロトコルがあります。それらは特によく維持されていたり機能が豊富ではなく(私のバイアスの一部があります!)、私が知る限り、ネイティブのC#ライブラリを持っているものはありません。同じように、ラッパーは利用可能ですが、私が知っている商用製品にはネイティブC#ライブラリもありません。


あなたが説明する種類の転送が組織の日常活動の定期的かつ継続的な部分になる場合、私は上記以外のものを推奨するのに苦労します。そして、それを「正しく」(または少なくとも重要な開発プロジェクトなしで)行うには、おそらく商用ソリューションが必要になります。

于 2012-07-13T04:01:58.207 に答える
4

GoAnywhereがここで言及されているのは興味深いと思いました。これはMFTソリューションと見なされます。私は数年間MFTを使用してきましたが、C#コードを記述しなくても、ここで説明していることを正確に実行するのに非常に効果的であることがわかりました。無料ではありませんが、コストに見合うだけの価値があると思います。

これにより、FTP、SFTP、FTPS、PGP、HTTPSなどのさまざまな転送プロトコルを自動化およびスケジュールできます。また、複数の共有PCおよびサーバーへのネットワーク接続を介してスケジュールすることもできます。MFTを使用すると、さまざまなアプリケーションで機能するようにデータをマッサージする必要がある場合に、フォーマットの変更に取り組むこともできます。クエリを実行して、さまざまなデータソースから必要なデータだけを抽出します。また、すべてのトランザクションをログに記録して、ファイルが送信されたことを確認し、エラーが発生した場合に電子メールで警告するように設定できるようにします。私はそれが私のすべてのデータ転送要件に最適なツールであることがわかりました。

私はMFTソフトウェア会社の従業員ではありませんが、この製品を愛する非常に幸せな顧客です。それは私の仕事の生活をとても楽にしてくれました。http://blog.linomasoftware.com/2012/01/24/managed-file-transfer-changed-my-life/に、ITスタッフがどのように役立つかを示す優れた例があります。

于 2012-07-18T15:08:06.410 に答える
2

WCFのストリーミング機能を使用できます

于 2012-07-12T07:21:29.643 に答える
2

私はあなたが書いたことを理解しているので、データはサーバーとしてすべてのクライアントに共有されます。だから、トレントプロトコルの使用を検討してみませんか。これがオープンソースライブラリです。 http://www.mono-project.com/MonoTorrent

于 2012-07-12T07:25:40.943 に答える