我想知道在哪里可以了解更多有关分散式共享和P2P网络的信息。理想情况下,我想创建一些东西来帮助学生通过他们的大学网络彼此共享文件,这样他们就可以分享而不用担心外部实体。
我不打算在这里建立下一个Napster,只是想知道这个想法是否可行。是否有任何开源P2P网络可以调整以实现我想要的目标?
答案 0 :(得分:3)
基本上你需要一个服务器(好吧,你不需要服务器,但它会使它更简单),它将用户IP存储在其他东西之间,如文件哈希列表等。
该服务器可以在您想要的任何环境中(这非常舒适)。
然后,每个客户端连接到服务器(它应该有一个dns,它可以是一个免费的,我曾经使用过no-ip.com)并首先发送基本信息(例如它的IP和文件哈希列表),然后不时发送一些内容(比如每5分钟或更短时间),以报告它仍然可以访问。
当客户端搜索文件/用户时,它只询问服务器。
这是一个集中式网络,但文件共享将在p2p客户端到客户端连接中完成。
这样做的原因是,如果没有一些参考,你就无法知道要连接的IP。
只是清除这个服务器的东西:
- Torrent使用跟踪器
- eMule的ED2K使用 lugdunum服务器
- eMule的“真正的p2p”Kademlia使用已知节点(客户端)(大部分时间来自服务器like this)。
答案 1 :(得分:1)
使用DC++
答案 2 :(得分:1)
Tribler正是您要找的!
这是代尔夫特理工大学完全分散的BitTorrent客户端。它是开源的,用Python编写,因此也是一个很好的学习起点。
答案 3 :(得分:0)
Bit-Torrent有什么问题?
编辑:微软操作系统上还有一个预先构建的P2P网络,作为构建内容的基础非常酷。 http://technet.microsoft.com/en-us/network/bb545868.aspx