P2P文件传输平台的设计与实现.doc_第1页
P2P文件传输平台的设计与实现.doc_第2页
P2P文件传输平台的设计与实现.doc_第3页
P2P文件传输平台的设计与实现.doc_第4页
P2P文件传输平台的设计与实现.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络程序设计 课程设计报 告 题 目 P2P 文件传输平台的设计与实现 学 院 计算机科学与工程学院 专 业 信息管理与信息系统 学生姓名 学 号 指导教师 2011 年 3 月 24 日 ii 目目 录录 1 前言前言 3 2 需求分析需求分析 3 3 概要设计概要设计 3 3 1 硬件环境硬件环境 3 3 2 软件环境软件环境 3 4 详细设计详细设计 4 5 测试测试 6 6 总结总结 6 参考文献参考文献 6 附录附录 7 3 1 1 前前言言 近年来 P2P Peer to Peer 对等互联或点对点技术 作为因特网通 信应用中一项新兴技术 他的发展迅速 基于 P2P 方式实现的软件 已经 广泛应用于资源的下载 游戏的互动 交互式媒体播放 分布式计算等多 种领域 并在越来越多的领域展现了巨大的应用潜力 但是 到目前为止 仍然没有针对 P2P 的统一的网络应用开发标准 其体系结构仍在不断地推陈出新 微软公司在 NET Framework 3 5 中新 增了 System Net PeerToPeer 命名空间 该命名空间下提供的类简化了利 用 P2P 开发应用程序的难度 为创建 P2P 应用程序提供了简单的实现方法 和途径 在 P2P 技术尚未风行之前 很多企业级应用采用 C S 或者 B S 架构 在传统的 C S 架构的应用程序中 客户端与服务器有明确的分界 客户端 软件向服务器发出请求 服务器存放共享资源并对客户端请求作出响应 P2P 的特点 相对于 C S 架构来说 P2P 具有以下的特点 1 对等模式 P2P 系统中的使用者能同时扮演客户端和服务器的 角色 使两台计算机之间能不通过服务器直接进行信息分 享 2 分布式网络数据存储结构 P2P 技术的另一个重要的特点在于 分散 网络中所有的计算 存储和网络连接能 能力都 分布在非集中式网络的 对等伙伴 上 例如 在 C S 架 构中 所有客户端都是直接从服务器下载所有资源 而 P2P 则改变了以服务器为中心的状态 玫瑰节点可以先从 服务器上各下载一部分 然后再互相从对方或者其他节点 下载其他部分 采用这种方式 大量客户端同时下载时 不但不会形成服务器网络宽带瓶颈 造成网络堵塞 反而 提高了下载速度 当然 P2P 也存在一些缺点 在许多流行 的 P2P 应用中 都或多或少涉及隐私安全以及版权等问题 关键字 P2P 文件传输 net framwork 2 2 需求分析 本系统采用基于 Socket 的局域网通信工具的设计与实现的方法 基 于 Socket 的局域网通信软件可以为企业原有的局域网提供一种良好 安 全 快递的通信机制 它的实现无需对企业原有的局域网进行任何改动 具有实现成本低廉的优点 它的使用能有效地降低局域网通信负荷 提高 局域网的使用效率 可以很好解决企业内部局域网的各种通信需求 基于 Socket 的局域网聊天工具很好地诠释了 Socket 通信的原理 并 且在企业内部通信 教学 讨论应用中有很好的实用价值 它具有信息收 发速度快 保密性好 占用网络宽带资源低 占用服务器吞吐能力低 易 于编程实现等优点 聊天系统不外乎两个方面 服务器端和客户端 简单分析一下两个方 4 面所要完成的任务 对设计这个程序来说 等于完成了一半 首先来看 1 1 下服务器端的任务 服务器端应当建立一个 ServerSocket 让管理者自己设置服务器端的服务端口 并且不断进行侦听是否有客户端连接或者断开连接 包括判断没有响应的连接超 时 服务器作为文件下载中心 主要是提供客户端的文件下载需要 在服务器 端管理员可以随时增加或减少提供服务的文件资源 在服务端管理者可以查看 客户端的信息 2 2 客户端应该完成的工作包括 与服务器端建立通信通道 向服务器端发送请求下载文件信息 接收来自服务 器的文件流并保存所需要下载的文件 相对服务器而言 客户端的任务就是要 用户知道服务器所提供服务的下载 IP 和端口号 当客户端与服务器连接成功后 在客户端 用户可以看到服务端所提供下载的文件信息 用户可以有选择的下 载所需的文件 3 3 总体设计 本课设主要研究的是局域网文件传输软件 此文件传输软件分为服务器程 序和客户端程序 各有各自的窗体界面 本课设的目标是能实现用户在客户端 可以从服务器上下载文件资料 主要研究内容是 熟悉 C 和 System Net 命名空间下的 Socket 类 IPAdress 类 了解 TCP IP 的协议 在 VS2008 开发平台下 利用 sokcet 套接 字编程技术 多线程开发技术 TCP 协议等进行局域网文件传输软件的实际开 发 1 实现的主要思想为 在 Internet 上的文件传输程序一般都是以服务器提供服务端等待客户端来 连接并及时作出响应 使用者通过客户端程序连接到服务器 就可以与服务器 上的服务文件列表同步信息 这是一个面向连接的通信过程 因此 程序要在 TCP IP 环境下 实现服务器端和客户端两部分程序 2 服务器端工作流程 服务器端通过 socket 系统调用创建一个 Socket 数组后 即设定了接受 连接客户的最大数目为 10 个 多出的客户端在服务器方不作出响应 与指定 的本地服务端口绑定 bind 就可以在端口进行侦听 listen 如果有客户端 连接请求 则在数组中选择一个空 Socket 将客户端地址赋给这个 Socket 同 时创建一个线程来控制此连接 此时客户端就可以从服务器上进行下载所需要 的文件了 3 客户端工作流程 在客户端需要建立一个 Socket 与服务器端连接 并提供友好界面来给用户 进行操作 当连接成功后就可以通过这个 Socket 来发送和接收数据了 3 1 硬件环境 处理器 AMD 5400 或更高处理器 内存 256MB 或更高 网络 局域网 3 2 软件环境 5 操作系统 windows XP 开发平台 Microsoft Visual Studio 2008 开发语言 C 4 详细设计 服务器端的设计 服务端主要包括 8 个类 Socket 类 Listen 类 Receive 类 PortConf 类 transfer 类 FileStream 类 FolderBrowserDialog类 还有静态类Directory 主要用到的命名空间有 System Net System Net Socket System IO System Threading private Socket socket 创建 Socket 实例 利用 Socket AdressFamily InterNetwork SocketType Stream ProtocolType Tcp 方法 创建一个本地套接字对象 private TcpListener listener 创建监听实例并绑定开放服务端口 用 listener Start 开始进行服务器监听 同时创建一个线程来进行控制 FolderBrowserDialog fbd new FolderBrowserDialog 打开服务器端所要服务的 文件目录 for int i 0 i 65535 port 1 MessageBox Show 請輸入小於的正整數 textBox1 Text return else MessageBox Show 請設置服務器文件目錄 return catch Exception ee MessageBox Show 您輸入的格式不對 ee ToString textBox1 Text return try listener new TcpListener port ServerSocket new Socket AddressFamily InterNetwork SocketType Stream ProtocolType Tcp ServerAddress new IPEndPoint IPAddress Any port ServerSocket Bind ServerAddress ServerSocket Listen 10 listener Start statusBarPanel1 Text 服務器正在監聽 button1 Enabled false button4 Enabled false button5 Enabled false 10 thread new Thread new ThreadStart recieve thread Start CheckForIllegalCrossThreadCalls false catch Exception ee MessageBox Show ee Message 连接代码 int port 0 IPAddress myIP IPAddress Parse 127 0 0 1 try if textBox2 Text myIP IPAddress Parse textBox2 Text else return catch MessageBox Show 請輸入正確的IP地址格式 例如 168 1 1 client new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论