《网络通信编程》教学大纲
一、大纲说明
课程编号:
课程名称(中文):网络通信编程
课程名称(英文):Programming for Computer Network Communication
适用专业:计算机科学与技术、软件工程、网络工程专业
课程属性:任意选修课
课程学时:总学时48 讲授学时28 实验学时20
课程学分:2.5
先修课程:计算机网络、Java语言程序设计
二、课程的性质和任务
1.课程的性质
本课程介绍了以套接字、数据报为主的基于网络的通信程序的原理、设计和实现,适用于通信、软件方向的学生开拓知识面、增强动手实践能力。
2.课程的任务
使学生能够了解网络编程基础知识,掌握Windows环境下基于套接字的服务端和客户端设计、基于UDP的服务器端和客户端设计、基于TCP/IP编程以及组播编程的方法和应用,了解Linux下同类编程特点。
三、教学内容、教学要求
第一章 网络编程基础
教学内容
(1) 网络编程基本概念;
(2) Socket编程;
教学要求
(1) 了解网络编程基本概念;
(2) 了解Socket编程思路;
第二章 面向套接字编程
教学内容
(1) 基于面向字节流、字符流的编程;
(2) 服务器端套接字;
(3) 客户端套接字。
教学要求
(1) 熟练掌握字节流和字符流的编程方法;
(2) 熟练掌握套接字编写服务器端和客户端方法。
第三章 基于UDP的服务器端与客户端设计
教学内容
(1) 运行机理;
(2) 服务器端使用UDP收发数据包;
(3) 客户端使用UDP收发数据包。
教学要求
(1) 掌握基于UDP编程的基本模式;
(2) 掌握使用UDP编写服务器端和客户端的方法。
第四章 基于TCP/IP编程
教学内容
(1) 运行机理;
(2) C/S间协议的设计与实现;
(3) 多线程服务器;
(4) 基于TCP/IP的客户端。
教学要求
(1) 了解基于TCP/IP的基本原理;
(2) 掌握协议类、多线程服务器和客户端的设计方法。
第五章 组播编程
教学内容
(1) 运行机理;
(2) 组播服务器端;
(3) 组播客户端。
教学要求
(1) 掌握组播编程的原理和机制;
(2) 掌握组播服务器端与客户端编写方法。
第六章 网络通信软件实例
教学内容
(1) 实例系统结构与功能;
(2) 实例总体设计与模块划分;
(3) 分模块详细设计;
(4) 系统测试与运行。
教学要求
(1) 了解网络通信软件的设计步骤。
四、实验教学
(见实验教学大纲)
五、学时分配
课堂教学学时分配表
序号 教 学 内 容 学时分配
1 第1章 网络编程基础 2
2 第2章 面向套接字编程 6
3 第3章 面向UDP的服务器端与客户端设计 4
4 第4章 基于TCP/IP编程 4
5 第5章 组播编程 4
6 第6章 网络通信软件实例 8
7 合计 28
六、教材
推荐教材:
参考教材:《Winsock 2网络编程实用教程》,李凌编著,清华大学出版社
《Java2实用编程百例》,施铮编著,清华大学出版社