计算机网络实验3 设计并实现一个简单的P2P协议 实验要求是设计并实现一个简单的分布式一致性协议, 每个成员实现自己的一份客户端, 实现小组成员内电脑文件的共享, 文件块传输调度上, 我们参考了bittorrent协议。 客户端的实现上, 我们把程序分为6大模块, 分别为: 1.控制报文模块, 2.文件收发模块, 3.心跳模块, 4.文件片管理模块, 5.调度算法模块, 6.文件拼接模块。 模块间, 使用生产者-消费者模型 进行异步的通信, 使用单例模式来管理模块之间的共享资源, 使用工厂模式来创建连接所需的资源。 客户端间,使用简单封装后的TCP协议进行通信,增加了“分块传输”的服务,使得传输的内容不再是字节流,而是“文件块”