计算机网络lab3_p2p实验
Java
Java
共23个文件
java: 11
png: 9
gitignore: 1
xml: 1
md: 1
计算机网络实验3 设计并实现一个简单的P2P协议
实验要求是设计并实现一个简单的分布式一致性协议, 每个成员实现自己的一份客户端, 实现小组成员内电脑文件的共享, 文件块传输调度上, 我们参考了bittorrent协议。
客户端的实现上, 我们把程序分为6大模块, 分别为:
1.控制报文模块, 2.文件收发模块, 3.心跳模块, 4.文件片管理模块, 5.调度算法模块, 6.文件拼接模块。
模块间, 使用生产者-消费者模型 进行异步的通信, 使用单例模式来管理模块之间的共享资源, 使用工厂模式来创建连接所需的资源。
客户端间,使用简单封装后的TCP协议进行通信,增加了“分块传输”的服务,使得传输的内容不再是字节流,而是“文件块”
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
该项目是一款基于Java实现的简单P2P分布式文件共享协议设计源码,包含23个文件,涵盖9个PNG图片文件、1个Git忽略文件、1个XML文件、1个Markdown文件和11个Java源文件。该协议旨在实现小组成员间的文件共享,并参考了BitTorrent协议的文件块传输调度机制。项目分为控制报文、文件收发、心跳、文件片管理、调度算法和文件拼接六大模块,采用生产者-消费者模型、单例模式和工厂模式进行设计,以实现高效的模块间通信和资源共享。客户端间通过封装后的TCP协议进行通信,支持文件块分块传输,提升传输效率。
资源推荐
资源详情
资源评论
收起资源包目录
upload.zip (23个子文件)
readmePic
dispatch1.png 20KB
init_thread0.png 68KB
heart_beat_timeline.png 53KB
heart_beat.png 87KB
dispatch0.png 41KB
FCL_S.png 180KB
total_modules0.png 58KB
init_thread1.png 64KB
total_modules1.png 140KB
pom.xml 891B
src
main
java
FileSplitMerge.java 10KB
Md5CaculateUtil.java 7KB
mainTest.java 7KB
HeartBeatModule.java 5KB
FileConnModule.java 8KB
MessageEncapsulationUtils.java 6KB
FileHoldingModule.java 23KB
RcvFileWriteModule.java 4KB
DispatchModule.java 5KB
NetChunkUtil.java 2KB
ControlConnectionModule.java 14KB
.gitignore 344B
readme.txt 950B
共 23 条
- 1
资源评论
csbysj2020
- 粉丝: 2752
- 资源: 5542
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功