一个自定义文件传输协议的设计与实现

一个自定义文件传输协议的设计与实现

ID:13290020

大小:194.11 KB

页数:22页

时间:2018-07-21

一个自定义文件传输协议的设计与实现_第1页
一个自定义文件传输协议的设计与实现_第2页
一个自定义文件传输协议的设计与实现_第3页
一个自定义文件传输协议的设计与实现_第4页
一个自定义文件传输协议的设计与实现_第5页
资源描述:

《一个自定义文件传输协议的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一个CS模式自定义文件传输协议的设计与实现班级:4099硕学号:3114370082姓名:周啸林1协议需求分析1.1摘要针对移动计算领域的“上传文件”这一场景,设计本协议。本报告描述了在客户端-服务器模式下,基于UDP的一个自定义文件传输协议(应用层)的设计与实现,并用该自定义的文件传输协议开发了一个小应用“UDP文件传输精灵”(UDPFileTFGenius)来测试该协议。1.2功能描述UDPFileTFGenius在应用层采用自定义的文件传输协议,传输层采用UDP协议,在2台或多台(2对1或多对一)

2、计算机之间进行文件传输。软件分为客户端软件和服务器端软件两个部分,分别安装在发送和接受计算机上,客户端作为发送端,可以将指定的文件发送到与之互联的服务器端,服务器端接收后保存文件。具体步骤为:1,在服务器端程序中设定服务器端网络端口;2,启动服务器端程序;3,在客户端程序中设定服务器端IP及网络端口及需要传输的文件;4,启动客户端程序,完成文件传输。2协议概要设计2.1开发环境采用Visualstudio2010集成开发环境,语言采用C++。1.1系统框图进行数据传输时,不进行服务器端和客户端之间的连接

3、操作,服务器端不监听是否有客户端连接本机的网络端口,即接收数据。2协议详细设计2.1客户端函数模块函数名intcilentSend(char*fileName)参数char*fileName,文件名称字符串指针功能初始化网络端口设置,绑定服务器端端口,从客户端向服务器端发送指定的文件返回值SOCK_WSA_ERR(-1)//启动winsock失败SOCK_CRSOCK_ERR(-2)//创建SOCKET失败SOCK_BIND_ERR(-3)//绑定端口失败SOCK_SEND_ERR(-4)//发送数据失

4、败SOCK_CLOSE_ERR(-5)//关闭SOCKET失败SOCK_RECVE_ERR(-6)//接收数据失败(客户端不会返回此值)FILE_ERR(-7)//文件错误TRAN_SUCCESS0//传输成功函数名intfileSend(SOCKETs,SOCKADDR_INaddrReceive,char*filename)参数SOCKETs套接字SOCKADDR_INaddrReceive套接字结构体,包含端口、网络地址、协议类型等信息char*filename待传输文件的文件名字符串指针功能通过

5、套接字发送文件数据返回值SOCK_SEND_ERR(-4)//发送数据失败FIEL_ERR(-7)//文件错误TRAN_SUCCESS(-8)//传输成功函数名intwinSocketInit()参数无功能winsocket版本协商及WinsockDLL初始化返回值SOCK_WSA_ERR(-1)//启动winsock失败0//winsock初始化成功函数名voidprintReturn(intnRet)参数intnRet错误代号功能输出最终运行错误/正常状态返回值无函数名longfileSize(FI

6、LE*stream)参数FILE*stream文件指针功能计算文件大小(字节)返回值文件大小1.1服务器端函数模块函数名intserverReceive()参数无功能初始化网络端口设置,接收发送至该端口的文件数据,根据发送端IP地址的不同创建不同的文件夹保存各发送端的文件。返回值SOCK_WSA_ERR(-1)//启动winsock失败SOCK_CRSOCK_ERR(-2)//创建套接字失败SOCK_BIND_ERR(-3)//绑定端口失败(服务器端不会返回此值)SOCK_SEND_ERR(-4)//发

7、送数据失败(服务器端不会返回此值)SOCK_CLOSE_ERR(-5)//关闭SOCKET失败SOCK_RECVE_ERR(-6)//接受数据失败FILE_ERR(-7)//文件错误TRAN_SUCCESS0//传输成功函数名intRecevData(SOCKET*s)参数SOCKETs套接字功能接收通过套接字传入的文件数据,并根据发送端IP地址的不同分别保存。返回值SOCK_RECVE_ERR(-6)//接受数据失败FILE_ERR(-7)//文件错误TRAN_SUCCESS0//传输成功函数名int

8、WinsocketInit()参数无功能winsocket版本协商及WinsockDLL初始化返回值SOCK_WSA_ERR(-1)//启动winsock失败0//初始化成功函数名voidPrintReturn(intnRet)参数intnRet错误代号功能输出最终运行错误/正常状态返回值无1协议运行流程图1.1客户端协议流程图1.1服务器端协议流程图2协议编码实现2.1客户端代码//cilent.cppv1.1,按照UDPFileTF协议

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。