WCF 第十二章 對等網 系列文章

2021-09-06 03:52:34 字數 1675 閱讀 4641

上乙個系列主要描述工作流服務,wcf 與wf 是如何相互關聯、一起使用的。本篇主要描述wcf對建立分布式應用非常常見的對等網的支援和擴充套件,相信大家對p2p已經非常熟悉,但是對基於wcf架構的p2p會很新奇,本系列將就這方面做深入的**。

很多開發人員在建立分布式應用程式時會考慮客戶端-服務端或者n-層結構模型。另外乙個通常會被忽略的建立分布式應用程式的方案是點到點(p2p)模型。大多數流行的網際網路應用程式中的一部分,包含即時通訊,遊戲以及檔案共享,都使用p2p方案。與其他應用程式的型別不同,乙個p2p應用程式假設沒有中心結點,這意味著客戶端和服務端之間沒有區別。這裡介紹了在應用程式的設計中的大量的複雜性。大多數開發人員由於建立p2p應用程式的複雜性和困難性而迴避建立p2p應用程式。如果使用合適的方式實現,p2p應用程式可以提供在可擴充套件性和可信賴性兩方面的明顯優勢。這一章將聚集在windows vista 上使用wcf建立p2p應用程式。我們將檢查wcf的能力並描述在.net framework 3.5 中新增的新功能。

這部分討論windows 通訊基礎(wcf)為建立p2p應用提供的支援。為了實現這個我們檢查p2p應用程式通訊的不同方式。

wcf支援使用netpeertcpbinding繫結建立p2p應用程式。這個繫結允許多個部分在乙個對等傳輸協議上通訊。它也定義了節點用來在網狀網路中解析鄰近節點的方式。對等傳輸通道預設使用的解析協議是pnrp。這個技術是windows 作業系統的一部分且從windows xp sp2就已經有了。我們會在本章的」使用pnrp解析對等網路問題」部分詳細討論有關pnrp內容.

wcf可以使用pnrp在乙個網狀網路上尋找其他參與者。在它的實現,wcf對等通道從使用pnrp中抽象出來所以乙個應用程式不需要直接與pnrp打交道。然而,一些對等應用程式可能想要在wcf對等通道外面自己發布並解決識別符號(對等名字)。不幸的是,在.net framework3.5之前沒有任何方式從託管**中註冊pnrp名字。.net framework3.5中新增了乙個新的叫做system.net.peer命名空間來使用託管**使用pnrp結構。

基於訊息洪水的對等網提供乙個限制一條訊息在網路上傳輸距離的方式。一條訊息的傳輸距離通常是指這條訊息在網路上傳輸過程中的跳數。中轉點數目通過計算一條訊息在鄰近節點間傳輸的次數確定。對那些熟悉套接字程式設計的人來說,這類似於在tcp協議上設定活躍時間(time-to-live, ttl),確定了乙個包可以在被丟棄前最大的傳輸路由器個數。

wcf提供建立在乙個網狀網路間通訊的對等應用的架構。它不提供發現和臨時協作能力。對這些能力我們依賴於windows vista和.net framework 3.5的新特性。包括我的鄰居,windows聯絡人和邀請人。這部分檢查這些特性並描述如何引用新的system.net.peertopeer命名空間來使用它們。

當使用對等傳輸通道時會有乙個常見的錯誤,就是認為它支援在乙個對等網狀網路間定向通訊。訊息定向意味著一條訊息可以在乙個對等網狀網路中通過跨越乙個網狀網路將其傳播到目的端(這就是路由的原理)來傳送到特定節點。使用對等傳輸通道是不可能的。這限制了可以建立的對等應用程式的型別,因為所有的訊息通訊都假設訊息將會被傳送到每個節點。然而,只需要知道一點怎麼做且付出一點努力,這些限制部分可以被淘汰。

點對點(p2p)應用程式是建立分布式應用程式的一種非常引人注目的方式。p2p應用程式假設沒有中心節點,這意味著在客戶端和服務端之間沒有區分。如果設計的非常合適,p2p應用程式可以在可擴充套件性和可信賴性上提供明顯的優勢。對等應用程式的例子包括流行的網際網路應用,比如即時通訊,遊戲以及使用p2p方案的檔案共享。

WCF 第十二章 對等網 點對點應用程式

這部分討論windows 通訊基礎 wcf 為建立p2p應用提供的支援。為了實現這個我們檢查p2p應用程式通訊的不同方式。網狀網路 p2p應用程式使用乙個網狀網路 又名,對等網狀網路 乙個網狀網路是連線到一起的一組對等節點。乙個對等節點是乙個p2p應用程式的例項。乙個完全的網狀連線是乙個網狀網路中所...

WCF 第十二章 總結

點對點 p2p 應用程式是建立分布式應用程式的一種非常引人注目的方式。p2p應用程式假設沒有中心節點,這意味著在客戶端和服務端之間沒有區分。如果設計的非常合適,p2p應用程式可以在可擴充套件性和可信賴性上提供明顯的優勢。對等應用程式的例子包括流行的網際網路應用,比如即時通訊,遊戲以及使用p2p方案的...

第十二章 檔案

文字檔案 文字檔案是一種由若干字元構成的檔案,可以用文字編輯器進行閱讀或編輯。以txt py html等為字尾的檔案都是文字檔案。2.二進位制檔案 二進位制檔案一般是指不能用文字編輯器閱讀或編輯的檔案。以 mp4 png等為字尾的檔案都是二進位制檔案,如果想要開啟或修改這些檔案,必須通過特定軟體進行...