2017-01-30 9 views
0

サーバーに接続するために.NET Framework 4.6.2でC#クライアントを作成する必要があります。SFTPサーバーまたはFTPSサーバー?

私のクライアントは、SFTPサーバーまたはFTPSサーバーに接続する可能性がありますが、どのサーバーを接続するのが最適かわかりません。このpage

、私が発見したこの:

んVCLでSSH/SFTPのサポートを内蔵し、.NETは、私がアップロードするサーバーおよびダウンロードに接続する必要が

フレームワークファイル。また、ファイルがそのリモートディレクトリにいつあるかを知るために、サーバー上のディレクトリを監視する必要があります。

インターネットで検索SFTPプロトコルを実装する.NETライブラリ(SSHNet)が運用環境に十分適しているかどうかはわかりません。

私はSFTPを使うのが最良の選択だと思いますが、FTPSはC#クライアントを実装するのが簡単かもしれません。

libssh2を使用して、リモートディレクトリを監視し、新しいファイルをダウンロードし、アップロードする必要があるファイルをアップロードするジョブを実行するCプログラムを実装できます。

アドバイスはありますか?

+0

後でサーバーでどのようなことを行う必要がありますか?ただ一つのファイルをダウンロードしてアップロードするか、ここで完全な "FTPクライアント"機能を探していますか?実行可能ファイルをバンドルするのはオプションですか? – poke

+2

SFTPとFTPSは異なる機能を持つ別のものです。それらの間の選択は、容易に利用できるものだけでなく、あなたのニーズにも依存します! – AFract

+0

@pokeファイルをアップロードしてダウンロードするには、リモートサーバーに接続する必要があります。また、ファイルがそのリモートディレクトリにいつあるかを知るために、サーバー上のディレクトリを監視する必要があります。 – VansFannel

答えて

2

両方のプロトコルがあなたの質問やコメントに示唆されているように実際のニーズに適している場合は、「ネットで使用するのが最も簡単な」問題であれば、単にFTPSに行くだけです。

フレームワークの古いバージョンであっても、フレームワーク(「FtpWebRequest」クラス、または最近では"WebClient"など)で必要なものをすべて見つけることができるので、実装が非常に高速です。

あなたはあなたがリモートサーバ上のフォルダを「監視」する必要があることに言及しているウェブ上やSO

にこのことについてたくさんのリソースを見つけることができます。もちろん、FTPSがフォルダのすべてのファイルのリストを取得するのに問題はありませんが、あなたが望むくらい頻繁に "プル"モードになります。新しいファイルが削除されるたびに、サーバー自体が通知を送信する方法はありません。したがって、リアルタイムの通知が必要な場合は、最適ではありません。

関連する問題