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

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

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一个自定义文件传输协议的设计与实现

一个CS模式自定义文件传输协议的设计与实现班级:4099硕学号:3114370082姓名:周啸林协议需求分析摘要针对移动计算领域的“上传文件”这一场景,设计本协议。本报告描述了在客户端-服务器模式下,基于UDP的一个自定义文件传输协议(应用层)的设计与实现,并用该自定义的文件传输协议开发了一个小应用“UDP文件传输精灵”(UDPFileTFGenius)来测试该协议。功能描述UDPFileTFGenius在应用层采用自定义的文件传输协议,传输层采用UDP协议,在2台或多台(2对1或多对一)计算机之间进行文件传输。软件分为客户端软件和服务器端软件两个部分,分别安装在发送和接受计算机上,客户端作为发送端,可以将指定的文件发送到与之互联的服务器端,服务器端接收后保存文件。具体步骤为:1,在服务器端程序中设定服务器端网络端口;2,启动服务器端程序;3,在客户端程序中设定服务器端IP及网络端口及需要传输的文件;4,启动客户端程序,完成文件传输。协议概要设计开发环境采用Visual studio 2010集成开发环境,语言采用C++。系统框图进行数据传输时,不进行服务器端和客户端之间的连接操作,服务器端不监听是否有客户端连接本机的网络端口,即接收数据。协议详细设计客户端函数模块函数名int cilentSend(char *fileName)参数char *fileName,文件名称字符串指针功能初始化网络端口设置,绑定服务器端端口,从客户端向服务器端发送指定的文件返回值SOCK_WSA_ERR (-1) //启动winsock失败SOCK_CRSOCK_ERR(-2) //创建SOCKET失败SOCK_BIND_ERR (-3) //绑定端口失败SOCK_SEND_ERR(-4) //发送数据失败SOCK_CLOSE_ERR (-5) //关闭SOCKET失败SOCK_RECVE_ERR (-6) //接收数据失败(客户端不会返回此值)FILE_ERR(-7) //文件错误TRAN_SUCCESS 0 //传输成功函数名int fileSend(SOCKET s, SOCKADDR_IN addrReceive, char *filename)参数SOCKET s 套接字SOCKADDR_IN addrReceive 套接字结构体,包含端口、网络地址、协议类型等信息char *filename 待传输文件的文件名字符串指针功能通过套接字发送文件数据返回值SOCK_SEND_ERR(-4) //发送数据失败FIEL_ERR (-7) //文件错误TRAN_SUCCESS(-8) //传输成功函数名int winSocketInit()参数无功能winsocket版本协商及Winsock DLL初始化返回值SOCK_WSA_ERR(-1) //启动winsock失败 0 //winsock初始化成功函数名void printReturn(int nRet)参数int nRet 错误代号功能输出最终运行错误/正常状态返回值无函数名long fileSize(FILE *stream)参数FILE *stream 文件指针功能计算文件大小(字节)返回值文件大小服务器端函数模块函数名int serverReceive()参数无功能初始化网络端口设置,接收发送至该端口的文件数据,根据发送端IP地址的不同创建不同的文件夹保存各发送端的文件。返回值SOCK_WSA_ERR(-1)//启动winsock失败SOCK_CRSOCK_ERR (-2)//创建套接字失败SOCK_BIND_ERR(-3)//绑定端口失败(服务器端不会返回此值)SOCK_SEND_ERR(-4)//发送数据失败(服务器端不会返回此值)SOCK_CLOSE_ERR (-5)//关闭SOCKET失败SOCK_RECVE_ERR (-6)//接受数据失败FILE_ERR (-7)//文件错误TRAN_SUCCESS0//传输成功函数名int RecevData(SOCKET *s)参数SOCKET s 套接字功能接收通过套接字传入的文件数据,并根据发送端IP地址的不同分别保存。返回值SOCK_RECVE_ERR(-6)//接受数据失败FILE_ERR (-7)//文件错误TRAN_SUCCESS0//传输成功函数名int WinsocketInit()参数无功能winsocket 版本协商及Winsock DLL初始化返回值SOCK_WSA_ERR(-1)//启动winsock失败 0 //初始化成功函数名void PrintReturn

您可能关注的文档

文档评论(0)

yurixiang1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档