简单文件传送协议(TFTP)的C语言实现.pdfVIP

  • 136
  • 0
  • 约 4页
  • 2017-08-29 发布于湖北
  • 举报

简单文件传送协议(TFTP)的C语言实现.pdf

简单文件传送协议(TFTP)的C语言实现.pdf

第12卷 第3期 2010年3月 撬错渗辔 Vo1.12No.3 Mat.2010 doi:lO.39690.issn.1563-4795.2010.03.018 简单文件传送协议 (1F『TP)的C语言实现 谢永悠 (西南交通大学信息科学与技术学院,四川 成都 610031) 摘 要 :TFTP (简单文件传送协议)是TCP/TP协议族中用来在客户机与服务器之间进行简单 文件传输的协议 。文中给出了在visualC++6.0开发平台上 ,用C语言按 照T P协议在服务器 跟 多客户端之 间进行文件传输的实现方法 ,该方法可 以传输超过32MB的文件 。 关键词 :TFTP;server;client;超 时重传 O 引言 1 系统所要解决的问题 利用TFTP简单文件传输协议可以实现TFTP 在T丌1P文件的传输过程中,通常都要求有一 server与TFTrPclient之间的文件传输 ,包括多客 定的容错能力。大部分的错误都会导致连接 中 户的下载和上传请求。 断。假如错误由一个错误 的数据包 引起 ,则这个 如果客户端发送 的是下载请求 ,那么 ,服务 包将不被确认 ,也不会被重新发送 ,因此 ,另一 器将根据客户端发过来的报文 。解析出文件的路 方将无法接收到 。如果错误包丢失 ,则将使用超 径和文件名 。并且根据解析 出来 的文件名 ,开始 时机制 。一般的错误主要是 由三种情况引起 :一 读文件并构造报文。然后再经过获取客户端发过 是不能满足请求 ;二是收到 的数据包 内容错误 , 来 的端 口号 ,把DATA报文发送给客户端 ;如果 而这种错误又不能由延时或重发解释;三是对需 客户端发送 的是上传请求 ,那么,服务器端也必 要资源的访问丢失 (如硬盘满)。 须解析出文件名及要保存 的路径 。若满足条件 , TFTP只在一种情况下不中断连接 ,这种情况 则发送ACK给客户端以确认 已经接受客户端的请 是源端 口不正确 ,在这种情况下 ,指示错误的包 求 ,然后等待客户 的DATA报文 。客户端接 收 会被发送 到源机 。事实上 ,TFTrP协议 的限制很 ACK后 。就可开始发送数据报文 ,服务器开始解 多.这些都是为了实现起来 比较方便而进行的。 析报文 ,并将其写到指定的路径及文件中。 任何传输请求都来 自一个读取或写入文件 的 2 系统实现 请求 .这个请求也是连接请求。如果服务器批准 2.1 输入模块 此请求 ,则服务器将打开连接 ,数据 以定长512 字节传输。每个数据包一般都含有一块数据 ,服 输入模块可实现输入命令的接收、判断和容 务器发出下一个数据包 以前 ,必须得到客户对上 错处理 ,负责接收客户的输入信息并解析命令 。 一 个数据包 的确认。如果一个数据包的大小小于 并将接收到的命令存入结构体glptKeeplnput,以 512字节 ,则表示传输结束 。如果数据包在传输 供其他模块读取 。 过程中丢失 。则发出方会在超时后重新传输最后 函数qiptlnputProgress(gIptKeeplnput)用于 一 个未被确认的数据包 。通信的双方都是数据的 接收客户 的输入 。再把客户输入 的命令 、文件 发 出者与接收

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档