System.Net.PeerToPeer库有什么问题吗?

时间:2010-12-30 22:58:01

标签: c# .net networking p2p

我一直在研究.NET 4.0中System.Net.PeerToPeer的命名空间,这个库中提供的类似乎对构建P2P网络非常有用。但是,当我搜索示例和引用时,我只能找到仅仅指向MSDN文档的旧的过时示例或引用。似乎没有太多人使用这个库,并且没有太多的努力进入这个产品。有没有人知道我不知道这个库的问题可能会说服我不使用它?我确实看到旧版本的Windows不支持它,但这对我来说不是一个显示阻止。还有别的事吗?

2 个答案:

答案 0 :(得分:9)

我不同意之前的回答。

虽然.NET内置的P2P机制确实使用了PNRP,但在线有限的例子与开发人员的无知有关,而不是任何网络限制。

我使用peer channel / netPeerTcpBinding开发了一个非常复杂的P2P应用程序。此应用程序几乎不会在Windows XP SP3或更高版本上运行,并且可以在互联网上运行。

默认情况下,XP SP3 +上安装并启用了IPv6,PNRP也需要其他所有组件。这意味着可能95%的潜在安装基础已经包含了您的应用程序的所有先决条件。

是的,本地计算机需要取消阻止某些端口,但这可以由您的安装人员轻松完成。网络基础设施本身只需要不显式阻止通过UDP端口3544运行的Teredo.PNRP版本2(XP SP3 +)适用于所有NAT变种。

只要符合这些条件,您就可以通过公共互联网轻松设置P2P网状网,而无需更改现有的网络基础设施。

答案 1 :(得分:0)

此API基于PNRP。它需要IPv6连接(至少通过Teredo);这在今天的安装中通常是不可用的,并且需要管理工作来设置它。我认为这是人们对此兴趣不大的主要原因。