免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1061 | 回复: 0
打印 上一主题 下一主题

网络处理与分布式计算实习总结 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-14 01:32 |只看该作者 |倒序浏览

这次实习的主要任务是对ACE(自适配通信环境)进行自主的学习,并且应用ACE提供的先进模式和对底层函数的高层封装类来实现一个简单的FTPServer。
先说一下自己对FTPServer的理解。FTPServer的功能本身来说并不复杂,关键是要按照FTP协议的标准来完成服务器端和客户端的网络通信应答。这就要求我们对FTP协议进行研究,在程序的设计上要采用合理的结构来处理客户端的连接请求以及连接后的应答。这是一个应用到多线程的程序,每有一个新的客户端请求连接到Server,Server都会创建一个新的线程来为其服务。用户身份的有效性验证,应答的信息等,所有事物处理都要按照FTP协议的标准进行,对于不符合标准的请求要报错。具体的FTP协议可以查看RFC,而程序结构的设计采用比较成熟的经典框架:等待连接->建立连接->创建服务线程->等待新连接……网络上有许多的FTP开源项目,我看了一下,比较有趣的一个是TinyFTP,追求功能的高效简洁实现,代码相当短,是用C实现的,可以做学习套接字编程的好例子。其余的项目本质上类似,但功能相对强大些,也可以看看。
再说一下自己对ACE体系类库的学习体会。ACE官方网站上的资料相对齐全,提供ACE源码、DoxyGen生成的文档、各种ACE论文以及出版物的相应信息。其中的DoxyGen文档是查看API最好的手册,必备。而各种出版物由于网友的贡献都可以下载到电子版的书籍,其中最好的是APG(ACE程序员指导手册),在ACE的tarball中提供的examples有APG所有章节中的程序代码,这本书的章节层次清晰,是比较好的入门教程。我主要是看这本书,编译其中的例子来学习ACE类库的。同时,马维达进行了ACE文档大量的汉化工作,包括论文集、程序员教程和应用实例。不过这些资料的理论深度偏大,对ACE的具体设计实现进行了有深度的说明,若是想对ACE进行深入的研究,或者对这种好的框架的设计原理感兴趣的话,我想可以挑选其中自己喜欢的部分对照源码来学习。虽然没看懂多少东西,但是看过之后感觉有所启发。ACE的特色在于它的平台无关性,它在OS适配层上隐藏了不同OS系统调用的差异性,在类Wrapper层对BSD Socket函数进行了高效的封装,更高层上提供了一个框架,使得网络编程不再那么繁琐,减轻了程序员的工作量,利于编写健壮的程序。
ACE库编译,开发环境的搭建是需要做的首要事情。对这种开源项目我比较喜欢和习惯在Linux下进行编译,因此我参照ACE的安装向导在Linux下搭建了开发环境。我下载的是带TAO和CIAO的完整版本源码,版本是5.5.1。使用autoreconf工具生成配置文件,然后configure ; make ; make install 依次进行,将ACE采用默认配置安装到自己建立的安装目录下面。然后运行examples里边的ELF文件,运行良好,说明安装成功。随后的软件开发,就使用KDevelop进行,建立工程后导入源文件,稍微修改makefile,在libs参数后面加上-lACE既可顺利编译通过。编码的工作主要由李凯同学完成,因此我主要对他的代码进行了学习以及进行了一些测试工作。使用telnet工具登录FTPServer进行调试是一个较好的办法,可以自己发送各种控制命令到Server端进行测试。
这次实习的经历,对我们提出的主要要求在于提升我们自己的自学能力。在一个较新的领域,如何能快速的上手,如何提高自己的学习效率,领会到好的学习方法,这些问题比起具体的实现某个软件来说更加重要。我想,如果在一段学习之后,我们能够非常自信的认为自己肯定能够实现任务书的需求,以后碰到类似的任务,我们有信心,有办法去解决问题,这就算是在精神上完成了实习的任务了。当然,实际完成任务是不可避免的。
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/17503/showart_170826.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP