次の方法で共有


ピア リゾルバー

メッシュに接続するには、ピア ノードに他のノードの IP アドレスが必要です。IP アドレスを取得するには、リゾルバー サービスにアクセスします。このサービスは、メッシュ ID を受け取り、そのメッシュ ID で登録されているノードに対応するアドレスの一覧を返します。リゾルバーは登録されたアドレスのリストを保持します。そのリストには、メッシュ レジスタの各ノードとサービスが含まれます。

使用する PeerResolver サービスは、NetPeerTcpBindingResolver プロパティから指定できます。

サポートされるピア リゾルバー

ピア チャネルは、PNRP (Peer Name Resolution Protocol) サービスとカスタム リゾルバー サービスの 2 種類のリゾルバーをサポートします。

既定で、ピア チャネルは PNRP ピア リゾルバー サービスを使用して、メッシュ内のピアと近隣ノードを検出します。PNRP が利用できない、または適切でない状況やプラットフォームでは、別の方法として、サーバー ベースの検索サービスである CustomPeerResolverService が Windows Communication Foundation (WCF) に用意されています。また、IPeerResolverContract インターフェイスを実装するクラスを書き込むと、カスタム リゾルバー サービスを明示的に定義することもできます。

PNRP (Peer Name Resolution Protocol)

PNRP (Windows Vista の既定のリゾルバー) は、分散型でサーバーを使用しない、名前のリゾルバー サービスです。PNRP は、Advanced Networking Pack をインストールすれば Windows XP SP2 でも使用できます。2 つのクライアントが同じバージョンの PNRP を実行している場合、特定の条件 (途中に企業のファイアウォールが存在しないなどの条件) を満たせば、このプロトコルを使用してお互いを検索できます。Windows Vista に付属する PNRP は、Advanced Networking Pack に含まれているバージョンよりも新しいバージョンです。Windows XP SP2 用の PNRP への更新については、Microsoft ダウンロード センターで確認してください。

カスタム リゾルバー サービス

PNRP サービスを利用できない場合、またはメッシュ形状を完全に制御する必要がある場合は、サーバー ベースのカスタム リゾルバー サービスを使用できます。このサービスは、IPeerResolverContract インターフェイスを実装するリゾルバー クラスを記述するか、既定の受信トレイ実装 (CustomPeerResolverService) を使用することで、明示的に定義できます。

サービスの既定の実装では、クライアント登録は、クライアントが明示的に更新しない限り、特定の期間が経過した後に期限切れになります。そこで、リゾルバー サービスを使用するクライアントは、登録を時間内に正常に更新するために、クライアントとサーバー間の待ち時間に上限の概念を設ける必要があります。そのために、リゾルバー サービスに適切な更新タイムアウト (RefreshInterval) を選択します。(詳細については、「CustomPeerResolverService 内部 : クライアント登録」を参照してください)。

アプリケーションを記述する際には、クライアントとカスタム リゾルバー サービス間の接続をセキュリティで保護することも考慮する必要があります。これは、クライアントがリゾルバー サービスへのアクセスに使用する NetTcpBinding のセキュリティ設定を使用することで実現できます。資格情報を使用する場合は、ピア チャネルの作成に使用する ChannelFactory で、それを指定する必要があります。この資格情報は、カスタム リゾルバーへのチャネルの作成に使用される ChannelFactory に渡されます。

Aa702771.note(ja-jp,VS.100).gif注 :
ローカル ネットワークや即席のネットワークでカスタム リゾルバーを使用するときは、リンク ローカル ネットワークまたは即席のネットワークを使用またはサポートするアプリケーションに、接続時に使用するリンク ローカル アドレスを 1 つだけ選択するロジックを含めることを強くお勧めします。これにより、複数のリンク ローカル アドレスを持つコンピューターによって発生する可能性のある混乱をすべて回避できます。このロジックに従って、ピア チャネルは、1 度に 1 つのリンク ローカル アドレスを使用することだけをサポートします。このアドレスは、NetPeerTcpBindingListenIpAddress プロパティを使用して指定できます。

カスタム リゾルバーを実装する方法の例については、「Peer Channel Custom Peer Resolver」を参照してください。

このセクションの内容

CustomPeerResolverService 内部 : クライアント登録

参照

概念

ピア チャネルの概要
ピア チャネルのセキュリティ
ピア チャネル アプリケーションの構築