一种基于Linux平台下的文件传输服务器的设计与实现.docVIP

一种基于Linux平台下的文件传输服务器的设计与实现.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于Linux平台下的文件传输服务器的设计与实现.doc

一种基于Linux平台下的文件传输服务器的设计与实现   摘要:目前的文件传输服务器大多是基于Windows操作系统的,很少有针对Linux系统。基于Linux平台,设计并实现了一种自定义FTP文件传输协议的系统,用C/C++作为开发语言编写实现的,并详细分析了该服务器的优势与不足。   关键词:FTP;服务器;Linux   中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)25-0025-02   1 引言   FTP(File Transfer Protocol文件传输协议)服务器是一种传统的文件传输系统,也是当前互联网上比较实用的文件传输系统,以其管理简单和能够实现双向传输的优势,受到了国际互联网用户的普遍欢迎。   随着 Internet/Intranet 技术的迅速发展,许多公司、企业和网站开发了不少基于FTP(File Transfer Protocol文件传输协议)的应用系统。尤其在Windows系统下,但是在涉及一些需要必威体育官网网址性极其高的行业时,Windows平台下的FTP服务器在安全性上的劣势就显而易见了。Linux操作系统是一个开源平台,其安全性好、价格低,越来越多对稳定性要求高的用户和对成本控制要求严格的电脑生产厂商都选择了Linux操作系统。因此,相对应的Linux下文件传输服务器的开发也是业界现在最重要的课题之一。   2 FTP服务器的设计   2.1 基本原理   文件传输协议是Internet上的一个主要功能,其主要功能就是将文件从一台计算机传递到另一台计算机。本服务器使用的是自定义的FTP(File Transfer Protocol)协议。本服务器采用的是一种客户端/服务器(client/server)模式,在客户端和服务器端之间使用TCP协议建立连接。本服务器使用的FTP的组成及结构如图1所示。   2.2 FTP服务器工作过程   一般的FTP文件传输服务器所使用的数据端口取决于FTP的连接模式,一般分为主动模式(Active Mode)和被动模式(Passive Mode)。本服务器采用的是自定义的FTP协议,所以端口(大于1024)由自己决定,并采用了类似一般FTP服务器数据连接中的主动模式。工作过程:   1)客户端打开一个动态选择的端口(1024以上)向服务器端自定义的控制端口(1024以上)发起连接,经过TCP的3次握手之后,建立控制连接。   2)客户端在控制连接上通知服务器自己所用的临时数据端口。   3)服务器接到通知之后与客户端的数据端口建立起数据连接,并开始传输数据。   2.3 业务流程   详细研究用户需求后,确定服务器的业务流程如图2所示:   3 实现开发平台及编译运行   硬件环境是Linux,编辑环境我们选择的是VI(Visual Interface),绝大多数情况下都是使用C语言为Linux开发应用程序,目前 Linux 下使用最频繁的 C 语言编译器是gcc(GNU Compiler Collection),它能够编译用C、C++和Object C等语言编写的程序,语言我们使用的是C语言,选用的是MySQL开发后台数据库。预期实现功能要求,在用户登录、文件创建、上传、下载、查询及删除等方面都测试运行通过。其中多用户登录测试运行界面截图如图3所示:   系统程序的安装和加载运行:   1)将文件传输服务器的服务器端代码和客户端代码复制一份到Linux平台的Ubantu系统下;   2)用gcc编译器分别编译服务器端和客户端代码,然后运行服务器;   3)在确保服务器运行之后,运行客户端,并在运行客户端时输入服务器的IP地址和自定义的端口号;   4)完成客户端登陆到服务器上之后,用户就可以通过命令在客户端上远程操作服务器上的文件。   4 结论   经测试,该FTP服务器实现了局域网内用户登录、上传、下载、查询、删除文件资料等功能,并能在确保安全稳定的前提下,方便内部工作人员在工作中共享资源,使资源利用达到最大化。测试阶段发现的部分漏洞虽已修补,但仍存在一些不足,在后续工作中会继续予以改进:   1)由于设计时间较为仓促,没有交互界面的美化方面有所欠缺,因此用户界面的设计还有一定的完善空间。   2)在上传和下载文件时可能出现粘包问题,在上传文件时,客户端连续发送几次数据很可能被服务器端一次性接收,可以采用应答模式解决此问题。   3)缓冲区不满的问题,在传输文件的时候,接受数据的缓冲区定义的有点大,接受到最后的时候,发送端发送的数据不足以填满缓冲区,就会出现接受文件数据已经完成,但是操作不能正常结束的问题。这里的解决方案是,在文件传送之前将要被传送的文件的大小信

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档