我在对等网络上做一个类项目。以下是该项目的基本概述以及迄今为止我所做的工作:
项目概述:
到目前为止我做了什么?
我使用java作为编程语言并实现了以下内容:
我需要帮助的地方?
假设我们的网络如下:
节点A ---->节点B ----->节点C. (abc.txt)
- - - - >表示节点虚拟连接。
假设节点A是否按名称abc.txt请求文件,该如何下载文件?节点A没有关于Node C的信息。有人能告诉我实现这个的最简单方法吗?
感谢。
答案 0 :(得分:0)
你的陈述看起来很矛盾......
“我正在发送已经存在的对等体的主机名和端口号”。“节点A没有关于节点C的信息。”
有两种方法可以实现这一点。根据访问。 如果节点A可以使用其IP和端口访问节点C. - 您可以创建到节点C的套接字连接,并将文件从节点C复制到节点A.
如果节点A对节点A不可见 - 文件可能必须先上传到服务器,然后从服务器下载到节点A.
答案 1 :(得分:0)
亲爱的,你必须使用代理服务器,它将是包含所有对等体信息的中央服务器,因此首先连接到代理服务器,然后连接到所需的对等体并发送文件。为此,您必须在中央服务器转发数据的基础上向中央服务器发送一些其他信息。我不久前开发了这样的程序。
我开发了一个用于文本文件的对等体,一个用于音频文件的对等体,一个用于视频文件的对等体和一个用于图像文件的对等体,以及一个包含所有对等体的信息的中央服务器(代理服务器)。我正在向中央服务器发送文件,它决定在文件扩展名的基础上转发相关对等文件。