为什么Peer-to-Peer编程是一个难以获得良好研究的主题?

时间:2008-08-22 23:28:23

标签: networking language-agnostic p2p

在阅读了关于Gnutella和其他P2P网络如何运作的更多信息之后,我想开始自己的点对点系统。我认为我会找到很多可以应用的教程和语言不可知的指南,但是我遇到了一个模糊的简单概述。

我只能找到非常小的,精确的P2P代码,除了在所有用户上使用客户端/服务器架构之外没有什么用处,这实际上并不是我想要的。我想要像Gnutella这样的东西,但似乎没有任何文章可以公开加入网络。

7 个答案:

答案 0 :(得分:2)

RFC 4981凭借其庞大的参考书目,可能是一个非常好的起点。

答案 1 :(得分:1)

你可能在研究Bittorrent方面取得了更大的成功,我相信创作者已经写了一些论文,似乎其他人也是如此。

BitTyrant Bittorent.org, see the developers section

答案 2 :(得分:1)

我不知道您尝试使用的是什么平台,但这里是a decent article on the subject for .NET

答案 3 :(得分:1)

我必须使用Web服务在C#中编写一个基本的Gnutella客户端,我认为有关P2P内容的类注释仍然可用herehere

答案 4 :(得分:1)

我发现TheoryOrg Unofficial BitTorrent Specification是Bittorrent信息的最佳在线来源。此外,Monotorrent代码相当简单易懂。还有一个名为“GCT”的项目,它为局域网/多播环境实现JGroups风格的P2P,其代码同样易于理解(如果有点错误)。

答案 5 :(得分:1)

您可以尝试阅读Gnutella2并尝试实施消息传递。对于阅读概念材料,您可以阅读Andrew Tannenbaum的分布式系统。

答案 6 :(得分:1)

您可以查看JXTA。与通常用于非常特定目的的其他p2p实现(例如Gnutella)相比,它的目的是成为一个通用的,平台无关的p2p框架。

不要被它的Java外观所迷惑,有可用于C / C ++ / C#的绑定,但核心协议是用XML实现的,它应该转换为任何语言。

您还可以下载免费图书here