《网络程序设计》实验教学大纲
课程编号:CS4221067 课程名称:网络程序设计 英文名称:Network Programming
是否独立设课: 否 课程性质: 必修□ 选修? 课程类别: 基础□ 专业基础? 专业□ 实验项目数:4
必做实验项目数: 2 选做实验项目数:2
开放实验项目数: 4 综合性、设计性实验数:2 开课学期: 5 开课院系:计算机学院 课程总学时: 34+24 实验学时:24 课程总学分: 3 实验学分:1
一、实验目标与任务
网络应用程序设计是计算机科学与技术等专业中重要程序设计方法和网络应用实现方法课程,相关的编程模型与应用技巧不但适用于普通的网络应用程序的编写,同时也是网络管理底层编程的重要方法和技术,其基本思想可广泛应用于系统和应用软件的开发与设计。网络应用程序设计是一门方法与实践并重的、计算机科学与技术等专业学生必须掌握的专业课。
本课程的主要任务是介绍基本网络程序设计方法、技术以及典型的网络应用程序的编程技巧。通过对本课程的学习,使学生掌握网络应用的编程方法以及网络应用底层软件的设计。 二、本课程与其他课程的联系和分工
《计算机通信与网络》及《操作系统》课程是本课程的先修课程,《程序设计基础》为本课程提供基础编程方法。 三、实验内容及基本要求 (一)实验设备与工具软件
(1)实验所需设备:计算机、Android手机(学生自带)、局域网;
(2)实验所需软件:KUbuntu14.04操作系统、WinXP或Win7或Win8操作系统。 (二) 具体内容
1. linux平台上的TCP并发服务(8学时)
掌握基本套接字函数使用方法、TCP协议工作原理、并发服务原理和编程方法。实验
- 1 -
内容:在linux平台上实现1个TCP并发服务器,至少可以为10个客户端同时提供服务。 (1) 基于TCP套接字编写服务器端程序代码,然后编译和调试;
(2) 服务器程序要达到:可以绑定从终端输入的IP地址和端口;可以显示每一个进程
的进程号;可以显示当前并发执行的进程数量;可以根据客户机要求的服务时间确定进程的生存时间。
(3) 基于TCP套接字编写客户端程序代码,然后编译和调试;
(4) 客户端程序要达到:可以从终端输入服务器的IP地址和端口;可以从终端输入对
服务器的服务时间要求。
(5) 联调服务器和客户端,服务器每收到一个连接就新建一个子进程,在子进程中接收
客户端的服务时间请求,根据所请求的时间进行延时,然后终止子进程。如:客户端请求服务10s,则服务器的子进程运行10s,然后结束。
(6) 服务器要清除因并发服务而产生的僵尸进程。
2. 进程间的协调通信(8学时)
掌握进程的概念、进程间通信的基本原理、集成间通信的主要类型和各自的特点。实验内容:在linux平台上实现1个父进程、2个子进程,利用管道和共享内存实现两个子进程之间数据快速传送。
(1) 创建一个进程,再创建一对管道、一块共享内存(大于64kB); (2) 通过fork()函数生成2个子进程;
(3) 调试程序,确定父、子进程之间可以双向通信;
(4) 调试程序,确定两个子进程之间可以通过父进程中转实现双向通信; (5) 调试程序,确定两个子进程都可访问共享内存;
(6) 实现两个子进程之间无冲突地访问共享内存。传送的数据块不小于32kB,为
了能够看到演示效果,读/写每个字节后都延时0.5ms。
3. Windows平台上的TCP并发服务(4学时)
编程内容与实验1相同,操作系统为windows。了解Windows与Linux平台编程环境的差异,掌握Winsock编程接口及编程方法。
4. 用手机触屏控制PC机鼠标(4学时)
- 2 -
了解Android开发环境、Wifi技术特点,掌握Android环境下的网络程序设计基本方法。实验内容:在Android手机上读取触屏数据,将人手在触屏上的滑动轨迹通过wifi网络发送到PC机上;PC机上安装鼠标控制程序,根据手机发来的数据,鼠标的光标作相应移动。
(1) 在手机上编程,读取人手在触屏上的滑动信息; (2) 通过wifi网络,把滑动数据发送到PC机; (3) PC机根据wifi送达的数据控制鼠标光标移动;
(4) 网络中断时PC和手机都有错误显示;网络连接恢复时手机端要有指示。
四、教学安排及方式
总学时24学时,其中:实验24 学时。
序号 1 2 3 4 课程内容 linux平台上的TCP并发服务 进程间的协调通信 Windows平台上的TCP并发服务 用手机触屏控制PC机鼠标 学时 8 8 4 4 教学方式 实验 实验 实验 实验 五、考核方式
根据学生在计算机通信与网络实验中的表现(含出勤率、理论准备、方案论证及调试过程中解决问题的能力、调试结果、实验总结报告),进行综合考核,考核成绩分为优、良、及格和不及格。
六、教材
㈠教材
1.方敏、张彤编,《网络应用程序设计》,西安:西安电子科学技术大学出版社出版,2005。 ㈡参考书
1.宋敬彬等编,《Linux网络编程(第二版)》,北京:清华大学出版社,2014。 2.张会勇编,《WinSock网络编程经络》,北京:电子工业出版社,2012。
(执笔人:张彤 审核人:杨超)
2014年 12 月 12 日
- 3 -
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库网络程序设计(实验教学大纲)在线全文阅读。
相关推荐: