0

我刚刚完成了我的数据结构课程。现在我正在考虑建立一个有点洪流的客户端。

然而,当我用谷歌搜索这些东西时,我无法理解任何术语,例如套接字、端口等。

我只需要一个关于在哪里看的一般指导。书籍、教程以及其他一般情况下,我需要什么样的技能来制作一个 torrent 客户端,什么样的语言最适合这份工作,甚至为了实现我的目标,我应该学习什么样的课程。

提前感谢您提供的任何帮助。

4

2 回答 2

1

您的问题有两个部分:架构和编程。首先,您需要构建程序。架构是将大型“系统”可视化为子系统的过程,定义它们之间的接口,然后编写它们可以跳舞的“曲调”。

对于上述系统,这些是那些“子系统”:

  • 存储管理器:您的 torrent 文件由多个块组成,可以以任意随机顺序收集、组装、验证并最终呈现为单个文件。存储管理器执行此操作。

  • 传输管理器:该系统了解如何将洪流块传输进出。给定它发送的数据包或给定它接收的主机。

  • 连接管理器:该系统建立连接以发送和接收

等等等等

一旦你定义了子系统,然后定义什么是输入和输出。然后你开发每个模块。

于 2012-09-07T16:08:48.590 回答
1

我想说你需要知道的一件事是计算机网络是如何工作的。这包括数据包传输、套接字、端口、线程等......

计算机网络是一个如此广泛的主题,但我可以在这里留下我个人对我喜欢阅读和学习计算机网络的书的建议(有点网络介绍,但解释了很多,甚至教你如何使用套接字在 Java 中编程) .

计算机网络,一种以 Internet 为特色的自上而下的方法,James F. Kurose,Keith W. Ross,2005,Addison-Wesley

它解释了数据包传输、线程、套接字、端口等概念。我记得它甚至有一个关于种子的部分。

于 2012-09-07T16:13:58.917 回答