若要連線到網狀結構,對等節點需要其他節點的IP位址。 IP 位址是透過連絡解析程式服務來取得,此服務會採用網格標識碼,並傳回對應至使用該特定網格標識元註冊之節點的位址清單。 解析程式會保留已註冊的位址清單,其建立方式是讓網狀結構中的每個節點向服務註冊。
您可以透過 Resolver 的 NetPeerTcpBinding 屬性指定要使用的 PeerResolver 服務。
支援的點對點解析器
對等通道支援兩種類型的解析程式:對等名稱解析通訊協定(PNRP),以及自定義解析程序服務。
根據預設,對等通道會使用 PNRP 對等解析程式服務來探索網格中的對等和鄰居。 針對無法使用或可行 PNRP 的情況/平臺,Windows Communication Foundation (WCF) 會提供替代的伺服器型探索服務 - CustomPeerResolverService。 您也可以撰寫一個類別來實作 IPeerResolverContract 介面,以明確定義自定義解析程式服務。
對等名稱解析通訊協定 (PNRP)
Windows Vista 的預設解析程式 PNRP 是分散式無伺服器名稱解析程序服務。 安裝進階網路套件,也可以在 Windows XP SP2 上使用 PNRP。 任何執行相同版本 PNRP 的兩個用戶端都可以使用此通訊協定找到彼此,前提是它們符合特定條件(例如缺乏介入的公司防火牆)。 請注意,隨附於 Windows Vista 的 PNRP 版本比進階網路套件中包含的版本還新。 檢查Microsoft下載中心以取得 Windows XP SP2 的 PNRP 更新。
自定義解析程序服務
當 PNRP 服務無法使用,或您想要完全控制網格成形時,您可以使用自定義的伺服器型解析程序服務。 您可以撰寫實 IPeerResolverContract 作 介面的解析程序類別,或使用內建的預設實作 , CustomPeerResolverService來明確定義此服務。
在服務的默認實作下,如果用戶端未明確重新整理註冊,客戶端註冊會在一定時間內到期。 使用解析程式服務的客戶端必須注意用戶端-伺服器延遲的上限,才能及時成功重新整理註冊。 這牽涉到在解析程式服務上選擇適當的刷新超時設定(RefreshInterval)。 (如需詳細資訊,請參閱 CustomPeerResolverService:客戶端註冊。)
應用程式寫入器也必須考慮保護用戶端與自定義解析程式服務之間的連線。 您可以使用客戶端的NetTcpBinding安全性設定來聯絡解析程式服務,以執行此操作。 您必須在用來建立對等通道的 ChannelFactory 上指定認證(如果使用的話)。 這些認證會傳遞至 ChannelFactory ,用來建立自定義解析程式的通道。
備註
使用自定義解析程式搭配本地和即興網路時,強烈建議所有使用或支援連結本地或即興網路的應用程式應包含程式邏輯,以便在連線時選擇要使用的單一連結本地位址。 這可防止具有多個連結本機地址的計算機所造成的任何混淆。 因此,Peer Channel 一次僅支援使用單一連結本機位址。 您可以使用ListenIpAddress屬性在NetPeerTcpBinding上指定這個位址。
如需如何實作自定義解析程式的示範,請參閱 對等通道自定義對等解析程式。
本節中
CustomPeerResolverService 中的客戶端註冊項目