【问题标题】:Why is Peer-to-Peer programming a hard topic to obtain good research for?为什么点对点编程是一个很难获得良好研究的主题?
【发布时间】:2012-03-15 00:08:19
【问题描述】:

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

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

【问题讨论】:

    标签: networking language-agnostic p2p


    【解决方案1】:

    RFC 4981 拥有庞大的参考书目,可能是一个很好的起点。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        你研究Bittorrent可能会更成功,我相信创作者写了一些论文,似乎其他人也写了。

        BitTyrant Bittorent.org, see the developers section

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                【解决方案7】:

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

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

                您还可以下载免费书籍here

                【讨论】:

                  猜你喜欢
                  • 2015-06-09
                  • 2021-04-15
                  • 2020-03-03
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2013-10-27
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多