PeerToPeer の技術サンプル
更新 : 2007 年 11 月
このサンプルでは、System.Net.PeerToPeer 名前空間の新しいクラスを使ったピア名の登録、公開、および解決の方法を示します。
このサンプルの使用については、次のトピックを参照してください。
コマンド プロンプトを使用してサンプルをビルドするには
コマンド プロンプト ウィンドウを開き、PNRPSample ディレクトリの CS サブディレクトリに移動します。必要な設定および SDK のコマンド プロンプトについては、「方法 : サンプルの設定を設定する」を参照してください。
コマンド ラインで「msbuild PNRPSample.sln」と入力します。このコマンドでは、PublishPeerName と ResolvePeerName の両方のアプリケーションがビルドされます。
Visual Studio を使用してサンプルをビルドするには
Windows エクスプローラを開き、PNRPSample ディレクトリの CS サブディレクトリに移動します。
PNRPSample.sln ファイルのアイコンをダブルクリックして、このファイルを Visual Studio で開きます。
[ビルド] メニューの [ソリューションのビルド] をクリックします。
PublishPeerName アプリケーションも ResolvePeerName アプリケーションも、既定の \bin ディレクトリまたは \bin\Debug ディレクトリにビルドされます。
サンプルを実行するには
コマンド プロンプト ウィンドウを使用して、ビルドした実行可能ファイルが格納されているディレクトリに移動します。
コマンド ラインに「PublishPeerName.exe」と入力し、適切なコマンド ライン引数を指定して、PublishPeerName アプリケーションを実行します。
コマンド ラインに「ResolvePeerName.exe」と入力し、適切なパラメータを指定して、ResolvePeerName アプリケーションを実行し、PublishPeerName アプリケーションをテストします。
必要条件
このサンプルを使用するには、.NET Framework Version 2.0 SP1、Version 3.0 SP1、または Version 3.5 が必要です。このサンプルは、Windows Vista (Windows Vista Starter Edition を除くすべての SKU)、Windows Server 2008、および Windows XP でサポートされます (https://support.microsoft.com/default.aspx/kb/920342 を参照)。
使用例
System.Net.PeerToPeer 名前空間および System.Net.PeerToPeer.Collaboration 名前空間には、ピアツーピアのネットワークおよびコラボレーションをサポートする一連の新しいクラスが追加されています。これらのクラスを使って、ピア間でリソースを共有できます。
このサンプルでは、PeerName を公開および解決するために、サーバーレスの名前解決テクノロジであるピア名解決プロトコル (PNRP) が使用されています。これにより、アプリケーションはピア名と呼ばれる識別子を作成し、それをデータ (IP アドレス、ポート番号、バイナリ BLOB データなど) に関連付けることで、この情報を、他のピアが解決できるような形で公開できます。サンプルには 2 つのプロジェクトが含まれています。PublishPeerName サンプルでは、ピア名の作成方法および公開方法を紹介しています。ResolvePeerName サンプルでは、ピア名の解決方法を示します。
PublishPeerName アプリケーションには、5 つのコマンド ライン パラメータが必要です。
PublishPeerName.exe <peerNameClassifier> <peerNameType> <portNum> <comment> <cloudName:Available|AllLinkLocal|Global>
次のパラメータがあります。
peerNameClassifier : 公開するピア名の中で分類子として使用される、ユーザー定義の文字列です。
PeerNameType : 作成および登録するピア名インスタンスの種類を指定します。サポートされている値は Secured および Unsecured です。
portNum : 登録時にピア名に関連付けるローカル ポート番号です。
comment : ピア名に関連付けるコメント文字列です。この文字列も公開されて、PNRP クライアントによって解決されます。
cloudName : ピア名を公開するスコープです。サポートされている値は Available、AllLinkLocal、および Global です。
使用例を次に示します。
PublishPeerName.exe MyClassifier Secured 8000 CommentString Available
ResolvePeerName アプリケーションには、1 つのコマンド ライン パラメータが必要です。
ResolvePeerName.exe <peerNameToResolve>
次のパラメータがあります。
- peerNameToResolve : アプリケーションによって解決が試みられるピア名です。
ResolvePeerName アプリケーションが正常に実行された場合、ピア名を解決した結果が表示されます。