Networking 为什么点对点编程很难获得好的研究成果?

Networking 为什么点对点编程很难获得好的研究成果?,networking,language-agnostic,p2p,Networking,Language Agnostic,P2p,在阅读了更多关于Gnutella和其他P2P网络如何工作的内容后,我想启动自己的点对点系统。我想我会找到很多可以应用的教程和语言不可知的指导方针,但是我遇到了一个模糊的简单概述 我只能找到非常小、精确的P2P代码,这些代码除了在所有用户上使用客户机/服务器体系结构之外没有什么作用,而这并不是我真正想要的。我想要像Gnutella这样的东西,但似乎没有公开的关于加入网络的文章。你可能会在研究Bittorrent方面取得更大的成功,我相信创建者已经写了一些论文,其他人似乎也写了一些论文 我不知道你

在阅读了更多关于Gnutella和其他P2P网络如何工作的内容后,我想启动自己的点对点系统。我想我会找到很多可以应用的教程和语言不可知的指导方针,但是我遇到了一个模糊的简单概述


我只能找到非常小、精确的P2P代码,这些代码除了在所有用户上使用客户机/服务器体系结构之外没有什么作用,而这并不是我真正想要的。我想要像Gnutella这样的东西,但似乎没有公开的关于加入网络的文章。

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


我不知道你想使用什么平台,但这里是。

我必须用C语言编写一个基本的Gnutella客户端,使用Web服务,我认为关于P2P内容的课堂笔记仍然可用。

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

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

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

不要被它的Java外观所愚弄,C/C++/C#可以使用绑定,但是核心协议是用XML实现的,应该可以翻译成任何语言

你也可以下载一本免费的书。

有着庞大的参考书目,这可能是一个很好的起点