2011-02-01 12 views
2

この質問が重複していても大変混乱しており、ベストプラクティスのアドバイスが必要です。それは単なる学習目的のためですが、私にとっては、これが最善の方法で物事を行う方法を理解したいので、これは重要です。ベストプラクティスを探す:ファイルブラウジングとダウンロードのための2つのアプリケーション間の通信

lokalネットワークではなく、インターネット接続を介して2台目のPCのファイルシステムを参照できるアプリケーションを作成したいと考えています。ですから、PC1では、ファイルシステムを簡単なナビゲーション(ListBoxのようにフォルダを開いてファイルシステムの1つのレベルを開くためのボタン)と同じように表示する小さなアプリケーション(App1)と、私はこのPCからファイルをダウンロードしてください。PC2上のファイルは、PC1上のアプリケーションとやり取りするものです(App2)。 App2はファイルシステムを読み取り、フォルダとファイル名をApp1に送信し、App1はApp2に特定のファイルを取得するように要求します。

今、私は具体的な質問に持っている:インターネット上で通信しながら

  1. は何の技術は、アプリケーションに対して、それらの間の通信のための最善の方法ですか? WCF?ソケット接続を介した自分のプロトコル?他に何か?

  2. いくつかのセッションで大きなファイルをダウンロードするにはどうしたらいいですか?接続が切断された場合、私はダウンロードを再開し、すべてをやり直す必要はありません。

    私は誰かが私にヒント

    を与えることができることを望む

はどうもありがとうございまし

CaptnCrash

答えて

2

このためにFTPプロトコルを使用してください。 2番目のPCでFTPサーバーアプリケーションをインストールして構成し、次にC#クライアントコードでhttp://sourceforge.net/projects/dotnetftpclient/のようなものを使用してFTPプロトコル作業を行います。

本当に通信の暗号化が必要な場合は、HTTPSを使用します。これは、2台目のPCでWebサーバーを設定し、System.NETクラスのようなものを使用してWebクライアントを実装することを意味します。

何をしても、独自のプロトコルを作成せず、既存の.NETライブラリを活用して低レベルのFTPまたはHTTP通信を処理します。

+0

FTPは、切断された接続の後に続行できる部分的なダウンロードを許可していますか? –

+0

FTPサーバーがSIZE拡張をサポートしている限り、これを行うことができます。 FTPクライアントライブラリが部分ダウンロードをサポートしていない場合は、このhttp://www.codeproject.com/KB/IP/PartialFTPDownloader.aspxを使用して独自のFTPコードを記述します。 –

関連する問題