没有合适的资源?快使用搜索试试~ 我知道了~
一、 功能及说明 二、 实现功能的流程及说明 三、 项目开发中遇到的问题和体会 一、 功能及说明: 二、 实现功能的流程和说明: 三、connection.py
资源详情
资源评论
资源推荐
计算机网络
项目开发报告
题 目 基于泛洪查询的文件共享
学 院 建筑与环境学院
专 业 工程力学与软件交叉
学生姓名 尤敬尧
学号 2019141470415 年级 2019
指导教师 宋万忠
二 0 二一年 六月 二十六 日
目录
一、 功能及说明
二、 实现功能的流程及说明
三、 项目开发中遇到的问题和体会
一、 功能及说明:
本项目参考了 Github 上的两份源码,在此基础上进行了改进:
本项目实现了不同对等方之间的资源共享,在每个对等方自己的文
件夹中通过修改配置的 ini 文件即可构建不同节点之间的连接关系,
为了测试者测试,本项目维护了三个对等方之间的联系,通过模拟
网络中的拓扑结构,模拟不同对等方的操作。
在同一台主机的测试上,我们通过设置不同节点的端口号来模拟不
同的对等方的操作,以下为每个对等方自身的 ini 文件:
1 2 3
本项目通过 config 可以查看本地节点的信息,包括 ip,端口
号,ID,ttl,文件夹列表等;
通过 help 选项提示用户当前操作;get 1.txt(2.txt)(3.txt)分
别通过不同的对等方实现文件的查询、共享和下载。
Exit 退出当前系统
Modify 修改当前对等方的信息
利用 md5 加密文件,保证传输过程中文件内容没有改变。
二、 实现功能的流程和说明:
以下为本人整理的源码的所有类与方法的详细信息:
一、 config.ini,列出了对于每个节点的基本信息:节点编号[Peer-0]、ip
地址、服务端端口号、客户端端口号、分享文件以及该节点维护的邻接节
点的的列表(可从其邻接对等方 1 查询文件)
对于对等方之间的关系,该项目简化了对等方之间建立连接的过程,在配
置文件 config.ini 中分配好了各个节点的邻接对等方。
二、
Config.py:导入了 configparser 库;
首先在 configparser 模块读取 config.ini 文件,并设置 ttl 为 0:
定义 get_attr(self,i):函数
获取对等方的信息并打包以字典的形式返回。
cf.get(section,option):得到 section 中 option 的值,返回 string 类型的结果
如下图,将对等方 peer 的各个 attribute 分别赋予在已配置好的.ini 文件中的值;
比如,ip_addr 赋予对于 peer 的编号模 i 后的对等方的 ip_addr 的 option,即对应的:
将字符数组 peer_list 对应的对等方添加进去,此时将 peer_str(字符串放到字
符数组 peer_list 中,之后再将每个字符强制类型转换为 int 型存储):
定义 set_attr 函数;
#set_attr(i):对用户输入的数据检查后,修改对等方"peer_i"的信息。
首先 ,初始化 self,读取 config.ini 文件,并设置 ttl 为
2:
剩余28页未读,继续阅读
设计师马丁
- 粉丝: 18
- 资源: 299
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0