- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
‘网络通讯程序设计’课程实验内容的探讨
设计与实现。
本文接下来介绍每个实验的具体内容以及设计该实验的一些考虑。
2 实验内容
在我国保护知识产权、提高创新能力的方针政策下,支持、推广开放源码的Linux操作系统是一
个重要的战略决策。同时,socketAPI作为传输层的主流服务接口,也是多数其他传输层API的参考
API实现的网络服务器的设计、开发与优化。通过本课程学生能够理解客户/服务器计算模式,了解
访问底层协议软件的应用程序接口,掌握实现客户以及服务器软件的基本算法,构建基于TCP/IP协
议栈的分布式应用程序。
六个基本实验的具体内容如下。
实验一:基础函数调用练习
这个实验的主要目的是让学生练习并发程序设计及相关Linux程序设计的基础函数调用,复习
Linux相关工具以及命令行的用法。具体的实验内容包括:使用fork写一个并发程序,创建若干进程;
使用exec函数调用:创建新线程执行特定的程序;使用网络字节序与主机字节序转换函数;使用
后面的并发服务器的设计奠定基础。
实验二:客户端软件设计与开发
相对于服务器软件,客户端软件比较容易设计和开发,因为它不用考虑并发以及安全和保护等复
杂的算法。因此,网络应用软件的客户端是学生开始网络服务器设计的前绪。通过此练习使学生理
解客户端软件的算法,并学会使用相关函数调用创建客户端应用程序。实验内容包括:使用函数调用
从两个TIME服务器获得的时间以及它们的差值。
实验三:无连接迭代服务器的设计与实现
无连接迭代服务器是最简单、最容易实现的服务器。虽然在实际环境中应用较少,但是,通过这
个实验可以让学生搭建起服务器的基本框架。这样可以使后边的并发服务器的设计更专注于并发部
分的设计,而基本框架部分则在本次实验中解决。通过此练习学生可以理解无连接迭代服务器的算
法,了解UDP协议提供的服务以及相关函数调用,并能够使用相关函数调用创建迭代服务器。实验
内容包括:根据实验文档的详细说明,写一个提供ECHO服务的无连接迭代服务器;同时为该服务器
写一个简单的客户端程序,测试该服务器。第二部分内容为实验二的进一步加强。
实验四:面向连接的、多进程并发服务器的设计与实现
面向连接的、多进程并发服务器是重要的服务器实现模式。通过此练习使学生理解面向连接、多
进程并发服务器的算法,了解TCP协议提供的服务以及相关函数调用,并能够使用相关函数调用创
建多进程并发服务器。具体实验内容包括:根据实验文档的详细说明,写一个简单的网络文件服务
器。该服务器能够同时为多个用户提供服务。该服务器从客户获得请求的文件名,返回给用户该文
件的内容。要求用多进程实现并发。同时要求为该服务器写一个简单的客户端程序,测试该服务器。
使用pstree命令察看创建的进程以及进程的回收情况。
603
大学计算机课程报告论坛论文集2006
实验五:面向连接的、多线程并发服务器的设计与实现
用线程实现并发比使用进程方法的开销小。此练习使学生理解面向连接、多线程并发服务器的
算法,学习和了解线程相关函数调用,并能够使用相关函数调用创建多线程并发服务器。教材上给出
的示例是通过按需创建线程的模式实现并发的一个服务器。该并发服务器有一个监控线程负责定时
显示其他工作线程的工作状态。本实验要求学生用预分配线程的方式来重新实现该服务器。实验内
容包括:根据实验文档的详细说明,修改多线程ECHO服务程序,使之能够满足:
(1)该服务器用多线程实现并发;
(2)在程序开始创建固定数目的线程;
(3)当客户连接请求到来时,创建连接并分配一个事先创建的线程为客户提供服务;
(4)当服务结束后,线程并不消亡,而是重新等待下一次任务的分派。
实验六:支持多服务的并发服务器的设计与实现
最后一个实验要求学生采用select系统调用来实现同时能够支持多个服务的并发服务器。通过
此练习使学生理解支持多服务的并发服务器的算法,并学会使用相关函数调用创建支持多服务的并
发服务器。实验内容包括:根据实验文档的详细说明,设计并实现一个超级服务器,它能够支持多种
服务,服务的增删不需要重新编译和重启该超级服务器;增删使用UDP协议的TIME服务;增删使用
TCP协议的DAYTIME服务;使用配置文件和信号机制。
针对每一届学生的不同情况,我们还设计了两个可选实验。
可选实验一:简单C程序设计
文档评论(0)