在阅读了更多关于 Gnutella 和其他 P2P 网络如何运作的信息后,我想开始我自己的点对点系统。我开始认为我会找到很多可以应用的教程和与语言无关的指南,但是我遇到了一个模糊简单的概述。
我只能找到非常小的、精确的 P2P 代码,这些代码除了在所有用户上使用客户端/服务器架构之外没有做更多的事情,而这并不是我真正想要的。我想要像 Gnutella 这样的东西,但似乎没有任何公开的文章可以加入网络。
在阅读了更多关于 Gnutella 和其他 P2P 网络如何运作的信息后,我想开始我自己的点对点系统。我开始认为我会找到很多可以应用的教程和与语言无关的指南,但是我遇到了一个模糊简单的概述。
我只能找到非常小的、精确的 P2P 代码,这些代码除了在所有用户上使用客户端/服务器架构之外没有做更多的事情,而这并不是我真正想要的。我想要像 Gnutella 这样的东西,但似乎没有任何公开的文章可以加入网络。
RFC 4981及其庞大的参考书目可能是一个很好的起点。
您可能在研究 Bittorrent 方面取得了更好的成功,我相信创作者已经写了一些论文,而且似乎其他人也是如此。
我不知道您要使用什么平台,但这里有一篇关于 .NET 主题的不错的文章。
我发现TheoryOrg 非官方 BitTorrent 规范是 Bittorrent 信息的最佳在线资源。此外,Monotorrent 代码相当简单易懂。还有一个名为“GCT”的项目,它为 LAN/Multicast 环境实现了 JGroups 风格的 P2P,它的代码同样易于理解(如果有点错误)。
您可以尝试阅读Gnutella2并尝试实现消息传递。要阅读概念性材料,您可以阅读 Andrew Tannenbaum 的分布式系统。