1
课程设计(论文)任务书
软件学院 学 院 软件工程 06 级 专 业 软件测试 2 班
一、课程设计(论文)题目 计算机网络课程设计
二、课程设计(论文)工作自 2008 年 12 月 29 日起至 2009 年 1 月 3 日止。
三、课程设计(论文) 地点: 创新大楼 405 有线网络实验室。
四、课程设计(论文)内容要求:
1.本课程设计的目的
通过课程设计,使学生理论联系实际,在实践中进一步了解计算机网络体系结构,深入理解
TCP/IP参考模型,掌握各种网络工程技术和网络规划与设计,初步掌握综合布线技术、高速
局域网技术、广域网接入技术、网络互联技术,初步掌握网络应用程序开发技术以及互
联网
的应用技术。培养学生分析、解决问题的能力,提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)熟悉交换机、路由器等网络设备的功能和使用;
(2)掌握网络规划与设计,掌握网络安全与管理技术;
(3)初步掌握网络应用程序设计技术和互联网应用技术。
2)课程设计论文编写要求
(1)理论设计部分以课程设计论文的形式提交,格式必须按照课程设计论文标准格式
进行
书写和装订。
(2)课程设计报告(论文)包括目录、绪论、正文、设计小结、参考文献、附录等
3)课程设计评分标准:
(1)考勤与学习态度:20分
(2)理论理解与课程设计报告论文:40分;
(3)动手操作与实验设计:20分;
(4)设计论文答辩:20分。
4)参考文献:
(1)《计算机网络》(第三版)清华大学出版社, 熊桂喜 王小虎译
(2)http://www.it168.com
(3)http:// lib.ecjtu.jx.cn
5)课程设计进度安排
2
1.准备阶段(4学时):选择设计题目、了解设计目的要求、查阅相关理论资料
2.设计阶段(4学时):设计方案选型
3.实验阶段(4学时):按预先设计的方案在实验室完成相关的设计任务
4.撰写课程设计论文阶段(8学时):总结课程设计任务和设计步骤,撰写课程设计论
文
学生签名:
2009 年 1 月 3 日
6)选择课程设计题目具体要求:
课程设计(论文)评审意见
(1)考勤与学习态度(20分):优( )、良( )、中( )、一般( )、差( );
(2)理论理解与课程设计报告论文(40分):优( )、良( )、中( )、一般
( )、差( );
(3)动手操作与实验设计(20分):优( )、良( )、中( )、一般( )、差(
);
(4)设计论文答辩(20分):优( )、良( )、中( )、一般( )、差( );
(5)格式规范性及考勤是否降等级:是( )、否( )
评阅人: 职称:
2009 年 1 月 日
3
目录
2)课程设计论文编写要求..........................................................................................................2
(1)《计算机网络》(第三版)清华大学出版社, 熊桂喜 王小虎译 ...............................2
2.设计阶段(4学时):设计方案选型.....................................................................................3
一 浅析winsock编程技术..............................................................................................................1
二 分析程序功能及相关网络协议...............................................................................................1
三 程序流程图及设计方案...........................................................................................................2
四 基于TCP的聊天室程序详细设计............................................................................................4
五 测试结果.................................................................................................................................12
六 小结.........................................................................................................................................14
参考文献......................................................................................................................................15
4
一 浅析 winsock 编程技术
Windows 下网络编程的规范-Windows Sockets 是 Windows 下得到广泛应
用的、开放的、支持多种协议的网络编程接口,现在已成为 Windows 网络编程的
事实上的标准。WinSock API 是一套供 Microsoft Windows 操作系统使用的套接字程
序库,它最初基于 Berkeley 套接字,但是其中加入了一些 Microsoft 的特殊改动。
Windows Sockets 规范本意在于提供给应用程序开发者一套简单的 API,并让各
家 网 络 软 件 供 应 商 共 同 遵 守 。 此 外 , 在 一 个 特 定 版 本 Windows 的 基 础 上 ,
Windows Sockets 也 定 义 了 一 个 二 进 制 接 口 ( ABI ) , 以 此 来 保 证 应 用
Windows Sockets API 的应用程序能够在任何网络软件供应商的符合 Windows
Sockets 协议的实现上工作。Windows Sockets 规范定义并记录了如何使用 API
与 Internet 协议族(IPS,通常我们指的是 TCP/IP)连接,尤其要指出的是所有
的 Windows Sockets 实 现 都 支 持 流 套 接 口 和 数 据 报 套 接 口 . 应 用 程 序 调 用
Windows Sockets 的 API 实现相互之间的通讯。Windows Sockets 又利用下层
的网络通讯协议功能和操作系统调用实现实际的通讯工作。
通信的基础是套接口(Socket),一个套接口是通讯的一端。在这一端上你
可以找到与其对应的一个名字。一个正在被使用的套接口都有它的类型和与其相
关的进程。套接口存在于通讯域中。通讯域是为了处理一般的线程通过套接口通
讯而引进的一种抽象概念。套接口通常和同一个域中的套接口交换数据(数据交
换也可能穿越域的界限,但这时一定要执行某种解释程序)。Windows Sockets
规 范 支 持 单 一 的 通 讯 域 , 即 Internet 域 。 各 种 进 程 使 用 这 个 域 互 相 之 间 用
Internet 协议族来进行通讯(Windows Sockets 1.1 以上的版本支持其他的域,
例如 Windows Sockets 2)。套接口可以根据通讯性质分类;这种性质对于用户
是可见的。应用程序一般仅在同一类的套接口间通讯。不过只要底层的通讯协议
允许,不同类型的套接口间也照样可以通讯。用户目前可以使用两种套接口,即
流套接口和数据报套接口。流套接口提供了双向的,有序的,无重复并且无记录
边界的数据流服务。数据报套接口支持双向的数据流,但并不保证是可靠,有序,
无重复的。也就是说,一个从数据报套接口接收信息的进程有可能发现信息重复
了,或者和发出时的顺序不同。数据报套接口的一个重要特点是它保留了记录边
界。对于这一特点,数据报套接口采用了与现在许多包交换网络(例如以太网)
非常类似的模型。
二 分析程序功能及相关网络协议
一个在建立分布式应用时最常用的范例便是客户机/服务器模型。在这种方案
中客户应用程序向服务器程序请求服务。这种方式隐含了在建立客户机/服务器间
通讯时的非对称性。客户机/服务器模型工作时要求有一套为客户机和服务器所共
识的惯例来保证服务能够被提供(或被接受)。这一套惯例包含了一套协议。它
必须在通讯的两头都被实现。根据不同的实际情况,协议可能是对称的或是非对
称的。在对称的协议中,每一方都有可能扮演主从角色;在非对称协议中,一方
被不可改变地认为是主机,而另一方则是从机。无论具体的协议是对称的或是非
对称的,当服务被提供时必然存在"客户进程"和"服务进程"。一个服务程序通常在