首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何制作自己的P2P软件?

如何制作自己的P2P软件?
EN

Stack Overflow用户
提问于 2010-04-20 17:15:00
回答 4查看 39.2K关注 0票数 26

我怎么做我自己的纳普斯特呢?这些p2p程序使用的是哪个库?我不太熟悉套接字编程的概念。你能用Qt4做p2p程序吗?

从纳普斯特时代起,我就一直在想这个问题。

您还将如何着手创建下一个"bitorrent“?这是通过使用类似的套接字库实现的吗?

p2p技术的最新进展是什么?有什么新闻网站吗?p2p的未来是什么样子的?

EN

回答 4

Stack Overflow用户

发布于 2010-04-20 17:32:50

P2P或点对点是一种很难创建的程序类型,主要是因为它的结构。大多数互联网应用程序都是Client-Server,这是因为许多令人头疼的问题都可以通过拥有一个您知道可以连接到的固定服务器来解决。归根结底,这或多或少就是Napster所做的一切,它只是对文件进行索引,并指出当前谁在托管这些文件。

创建P2P软件的另一个问题是,即使您创建了一堆虚拟计算机,自己开发它也会有很少的同行可供测试。你会发现很难将其扩展到00个用户。

不过,第一步,你需要学会用一种合适的语言编程,像C++或C#这样的东西可能只是作为一个控制台应用程序来学习这项技术。

接下来,学习如何处理文件。如果你不能保存东西,那就没什么用了。

下一步是网络。首先设置一个客户端-服务器,以便掌握传输文件的技巧。创建一个提供文件的服务器应用程序和一个下载文件的客户端应用程序。然后开始将其扩展到一台服务器,将文件提供给许多客户端。

最后一步是合并客户端和服务器,以便当对等端下载更多文件时,它可以开始成为服务器,并让其他客户端从服务器下载。

如果您愿意,现在可以考虑GUI。

票数 22
EN

Stack Overflow用户

发布于 2010-04-20 17:31:43

点对点共享Napster的工作方式只有在有很多人共享文件的情况下才有意义。这有点像是先有鸡还是先有蛋的问题,但归根结底是:没有人使用没有人使用的网络。社交网络等也是如此。

也就是说,Qt4确实包括一个支持UDP和TCP的网络模块,这是在互联网上进行通信的基础。有可用的文档和示例代码here

至于你的最后一个问题:我认为P2P的未来充满了痛苦和磨难。大内容是p2p networking最常用的“功能”:共享音乐和电影。你的观点可能会有所不同。

票数 7
EN

Stack Overflow用户

发布于 2012-01-03 01:17:49

我找到了以下链接- http://en.wikibooks.org/w/index.php?title=The_World_of_Peer-to-Peer_(P2P)/Building_a_P2P_System

它还没有完成,但可以让你在设计或创建自己的P2P网络时有一个考虑因素的想法。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2673881

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档