文件传输系统设计文档.doc
《文件传输系统设计文档.doc》由会员分享,可在线阅读,更多相关《文件传输系统设计文档.doc(18页珍藏版)》请在沃文网上搜索。
1、文件传输系统设计文档1引言21.1编写目的21.2背景21.3部分用到的词定义22程序详细设计32.1程序描述32.2功能32.3性能102.4模块划分102.5程序系统的结构112.5.1串行化的传输112.5.2并行的传输112.5.3SOCKET类的封装122.5.4SOCKET的TCP连接流程图122.5.5服务器端数据流图132.5.6客户端数据流图142.6接口/类具体设计162.7任务分配182.8尚未解决的问题182.9 BUG记录181引言1.1编写目的 按照公司布置的实习任务,实现文件传输系统,并完成代码的撰写,在编写代码的过程中,对学过的专业知识进行回顾,加强编写代码的能
2、力和逻辑思维能力,初步掌握C+网络编程原理。在撰写设计文档的过程中,对一个项目的设计开发过程进行梳理,熟悉设计文档编写的规范和要求,为今后项目开发打下坚实的基础。1.2背景 该项目是在Visual C+的MFC下进行的开发,要求对C+语言熟练的掌握,系统的开发涉及到网络原理的SOCKET编程和操作系统的多线程编程技术。文件传输功能成为现在流行的即时通信工具不可少的一部分。要实现一个功能较完善的文件传输工具,若只能实现文件的发送与接收,显然是不够的。本文开发的文件传输工具,通过使用多线程、自定义的传输命令等技巧,实现了多个用户之间并发传输多个文件,并可以在传输过程进行简单交互的功能。1.3部分用
3、到的词定义 Socket:通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。CSocket类:是MFC对Windows Socket编程的类的封装,其派生于CAsyncSocket类,即是CAsyncSocket类的更抽象的封装,用该类来完成Socket编程将更方便。串行化:将对象存储到介质(如文件、内在缓冲区等)中或是以二进制方式通过网络传输。之后可以通过反串行化从这些连续的字节(byte)数据重新构建一个与原始对象状态相同的对象,因此在特定情况下也可以说是得到一个副本,但并不是所有情况都这样。TCP:Transmission
4、 Control Protocol 传输控制协议,是一种面向连接的、可靠的、基于字节流的运输层通信协议。多线程:为了使得多个线程并行的工作以完成多项任务,以提高系统的效率。线程是在同一时间需要完成多项任务的时候被实现的。2程序详细设计2.1程序描述2.1.1 利用socket进行TCP连接 文件传输系统包括一个服务器端和一个客户端。接收方是TCP的服务器端,发送方是TCP的客户端。2.1.2 同步的多线程传输方式 要实现并行传输,即服务器端可以同时接收几个客户端发送的文件,我们采用了同步的多线程方式,在程序中有两类线程:接收线程和发送线程,其中监听线程在接收端,发送线程在发送端。2.1.3发送
5、端与接收端的交互 a.发送端询问接收端,是否同意接收文件以及接收端的应答。 b.在传输过程中发送端取消文件发送。 c.在传输过程中接收方取消文件接收。2.2功能1. 文件在传输过程时应不影响用户界面其它的操作;2. 在正式传输文件前,发送方应先发送请求,接收方可以同意或拒绝文件发送,接收方同意后才能进行传输;3. 客户端在文件传输过程中,可以显示文件的信息,如文件名,保存路径,文件大小;以及显示传输进度,如完成的百分比,速度;4. 文件在传输过程中接收方和发送方都可以取消文件传输过程;5. 可以多个客户端同时向服务器并行发送文件;6.传输过程中,服务器端和客户端可以进行对话。l 功能界面图:图
6、1-1客户端操作界面图1-2服务器操作界面l 客户端的用例图:图1-3 客户端用例图客户端用例描述:用例1:连接参与者: 客户端用户前置条件:1、启动Client.exe2、设置好正确的IP地址和端口后置条件:与服务器端建立连接触发条件:点击“连接”正常流程:1、创建客户端套接字2、与服务器建立连接3、初始化套接字异常流程:1、IP地址为空,提示“IP地址不能为空”2、客户端连接套接字创建失败,消息对话框提示3、客户端连接套接字连接失败,消息对话框提示4、服务器的问题,消息对话框提示 初始化错误 对方没有启动 对方已经关闭 连接的尝试被拒绝 在一个非套接字上尝试了一个操作 特定的地址已在使用中
7、 与主机的连接被关闭 一般性错误 用例2:断开参与者:客户端用户前置条件:与服务器端连接后置条件:与服务器端断开连接触发条件:点击“断开”正常流程:1、告诉服务器连接被断开 2、关闭客户端套接字 3、弹出消息对话框,“断开”异常流程: 用例3:浏览文件参与者:客户端用户前置条件:启动Client.exe后置条件:1、显示文件路径 2、显示文件大小触发条件:点击“浏览文件”正常流程:1、选择文件2、获取文件路径,文件名 3、打开文件 4、获取文件大小 5、关闭文件异常流程: 用例4:发送参与者:客户端用户前置条件: 1、已连接到服务器端 2、已经选定文件 后置条件:将文件发送到服务器端触发条件:
8、点击“发送”正常流程: 1、向服务器发送文件名和文件大小,请求发送2、当对方同意且准备好接收文件时,启动文件发送线程3、发送文件异常流程: 1、连接的请求被拒绝 2、服务器已经关闭了连接,提示“对方已关闭” 3、发送文件的请求被拒绝,提示 4、对方取消了发送 用例5:取消发送参与者:客户端用户前置条件:文件正在发送中后置条件:发送过程被取消触发条件:点击“取消”正常流程:1、弹出“取消确认”对话框 2、进入扩展用例1用例6:退出参与者:客户端用户前置条件: client.exe在运行过程中后置条件:弹出“取消确认”对话框触发条件:点击“退出”正常流程:1、弹出“退出确认”对话框 2、进入扩展用
9、例2异常流程:用例7:聊天参与者:客户端用户前置条件: client.exe在运行过程中后置条件: 信息发送到服务器端触发条件: 按回车键,或点击“发送”正常流程: 1、在“text”上输入信息 2、按回车键,或点击“发送” 异常流程:扩展用例1:取消确认参与者:客户端用户 前置条件:点击“取消”前置条件: 点击“取消”后置条件: 1、确认取消,停止传输文件,告诉对方发送被取消 2、不取消,则返回继续传输触发条件:点击“取消确认”正常流程:若确认取消异常流程 扩展用例2:退出确认参与者: 客户端用户前置条件: 点击“退出”后置条件: 1、确认退出,停止传输文件 2、不退出,则返回程序中触发条件
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 文件传输 系统 设计 文档