实施p2p计划

时间:2011-04-19 13:12:32

标签: p2p peer

喜 我在学校有一个写作p2p程序的任务,我正在努力理解它背后的想法。我们被告知要实现两个对象FileManager和NameServer:

  

FileManager维护一组文件。它允许其用户删除\重命名现有文件并获取   来自其他FileManagers的新文件。在启动时,FileManager F接收其文件列表和列表作为输入   NameServers。然后,F将其文件名和NameServer名称列表发送到其上的所有NameServers   NameServers的列表

     

NameServer维护有关哪些文件存储在每个已知FileManagers中的信息。   NameServer还有助于在FileManagers之间分发有关其他NameServers的信息。

所以我很难理解这两个对象之间的相互作用。 他们都在同一台机器上运行吗?我的意思是,在p2p中每台机器都充当服务器。 我很抱歉,如果这个问题有点不清楚,因为整个任务对我来说仍然有点不清楚。任何人都可以帮我理解吗?

2 个答案:

答案 0 :(得分:1)

据我所知,在你的任务中,没有假设FileManager和NameServer实例将在哪里运行。但即便如此,这也不应影响您的解决方案,因为您必须使用IP地址和套接字。如果您必须与同一台机器上的实例进行通信,请使用127.0.0.1作为地址。

答案 1 :(得分:0)

  

所以我很难理解   这两者之间的相互作用   对象。他们俩都是一样的   机?我的意思是,在每台机器的p2p   作为服务器。

这意味着您在P2P系统上有两种类型的节点,从功能/逻辑上讲。一些充当FileManagers,一些充当NameServers。最终,真实节点可以实现这两组功能,同时兼顾FileManager和NameServer。

您可以将FileManagers和NameServers视为对等实例提供的服务。希望这会有所帮助。