图书前言

一个完整的计算机网络的教学过程应该包含三个环节: 课堂教学、实验和课程设计。课程设计作为最后一个环节,区别于实验的针对性强、规模小的特征,课程设计具有实践性强和综合性高的特点。在计算机网络课程的教学过程中起着不可替代的作用。

目前市面上缺乏计算机网络课程设计方面的指导教材,特别是在Java语言已经成为许多院校计算机专业的教学语言的情况下,更是缺乏以Java语言及其网络编程技术为基础的计算机网络课程设计指导教材。本书以Java语言及其网络编程技术为基础,结合计算机网络课程的理论教学,精心设计了若干个实验内容,利于读者提高计算机网络方面的实践能力和加深对计算机网络理论知识的理解。本书有以下特点: 

 (1)  以Java语言及其网络编程为实现技术,更便于计算机专业的学生进行编程和实验;

 (2)  实验内容安排考虑了计算机网络教学内容中的重点内容,从实用性角度进行了全新组织,利于提高学生的动手能力和对计算机网络理论知识的掌握;

 (3)  实验内容丰富,可以根据课程设计的课时情况,选择其中的若干个实验作为教学内容,便于组织教学实践;

 (4)  在附录中给出了大部分实验的参考答案,参考答案都经过作者的调试,可以供教师和学生在课程设计过程中参考。

本书在实验内容选题上主要从实用性角度出发,大部分与应用层的协议相关,而不是计算机网络中数据链路层、网络层或者传输层中具体协议的模拟或者分析,因为这些底层协议的模拟或者分析在网络实验中已经包含。相对于网络实验,本课程设计指导教材所选择的实验大都是一些粒度更大、综合性更高的实验,需要学生利用软件工程的方法和程序设计语言的编程技巧,并具备计算机网络的理论知识背景,才能出色地完成实验内容。

在第2章简单网络程序的设计与实现中,精心挑选了5个小实验,这几个小实验都涉及了Java网络编程方面最基本的内容,目的是锻炼学生最基本的网络编程能力;通过跟踪运行Java网络包,使得学生了解网络编程的实现细节。

在第3章数据包的捕获与分析中,安排学生以Ethreal软件为基础,掌握局域网中数据捕获的方法,特别是利用Ethreal进行数据包分析的方法,目的是加深学生对于计算机网络课堂教学中的理论知识的理解。

在第4章简单聊天程序的设计与实现中,安排学生利用套接字设计并实现一个简单的聊天程序,目的是进一步锻炼学生的网络软件编程能力和解决实际问题的能力。

在第5章简单Web服务器的设计与实现中,安排学生利用套接字设计并实现一个简单的Web服务器,目的是使得学生掌握HTTP协议的相关知识,并进一步锻炼学生的网络软件编程能力和解决实际问题的能力。

在第6章简单电子邮件客户端的设计与实现中,安排学生利用JavaMail网络包设计并实现一个简单的电子邮件客户端软件,目的是使得学生掌握电子邮件相关协议的知识,掌握利用JavaMail编程接口的编程方法,并进一步锻炼学生的网络软件编程能力和解决实际问题的能力。

在第7章简单MIB浏览器的设计与实现中,安排学生利用SNMP4J网络包设计并实现一个简单的MIB浏览器,目的是使得学生掌握简单网络管理协议SNMP的相关知识,掌握利用SNMP4J编程接口的编程方法,并进一步锻炼学生的网络软件编程能力和解决实际问题的能力。

在第8章简单动态网站的设计与实现中,安排学生设计并实现一个后端连有数据库的动态网站,目的是使得学生掌握动态网站构建的相关技术和设计方法,锻炼学生解决实际问题的能力。

实验内容的编制和实验参考答案的编写由王勇和代桂平完成,张兴、方娟和毛国君参与了实验参考答案的调试工作。

编者2009年3月