1、 软件课程设计报告软件课程设计报告 电电子信息工程子信息工程学院0909级 电子工程电子工程专业 题目: 简易网络聊天系统简易网络聊天系统 2012 年 4 月 25 日 简易网络聊天系统简易网络聊天系统 摘要摘要:计算机网络通信技术已经深入我们的生活,并给我们即使通信带来了计算机网络通信技术已经深入我们的生活,并给我们即使通信带来了很大的很大的方方 随着网络的日益普及,各种聊天工具也层出不穷。本课程设计就是实现个简易的网络聊天随着网络的日益普及,各种聊天工具也层出不穷。本课程设计就是实现个简易的网络聊天 程序。利用为开发工具,实现基本的通信功能,以程序。利用为开发工具,实现基本的通信功能,以
2、indows 为开发平台,为开发平台,VC6.0 为为 开发环境,程序运行平台为开发环境,程序运行平台为indowsXP。 关键字关键字:网络通信网络通信,SOCKET嵌套字,客户端,服务器嵌套字,客户端,服务器 第一章第一章 引言引言 1.1 课程设计课程设计的的背景背景:在互联网非常普及的今天,网络聊天已经成为我们日常生活在互联网非常普及的今天,网络聊天已经成为我们日常生活 中不可缺少的一种通信工具,聊天程序也应该是一种基础的程序。一个简单的聊天程序,中不可缺少的一种通信工具,聊天程序也应该是一种基础的程序。一个简单的聊天程序, 就是在多个就是在多个/端点之间实现多对多的通信。基于端点之间
3、实现多对多的通信。基于 SOCKET 嵌套字的网通信是一种灵活嵌套字的网通信是一种灵活 的,易于实现的的,易于实现的方法。在方法。在 SOCKET API 的帮助下,开发基于的帮助下,开发基于 SOCKET的局域网通信软件的局域网通信软件 是易于实现的。是易于实现的。 1.2 课程设计的目的课程设计的目的:本设计的目标是用本设计的目标是用 C+C+语言设计一个语言设计一个实时聊天系统实时聊天系统的程序。程的程序。程 序写完后最终生成一个客户端, 它由序写完后最终生成一个客户端, 它由 c clientlient 和和 serverserver 两部分组成,两部分组成, clientclient
4、 和和 serverserver 之间之间 的通信基于的通信基于 TCPTCP 协议。实现数据的收发。输入协议。实现数据的收发。输入聊天室使用的昵称及聊天室使用的昵称及目的主机的目的主机的 IPIP,连接到,连接到 目的主机,客户端与客户端之间即可实现简易的聊天和传输文件的功能目的主机,客户端与客户端之间即可实现简易的聊天和传输文件的功能. . 第二章第二章 设计依据及框图设计依据及框图 2.1 设计平台设计平台: 本课程设计的基本的网络编程都是建立在本课程设计的基本的网络编程都是建立在 Winsock 基础上的。基础上的。 Winsock 是是 90 年代初,年代初,为了方便网络编程,为了方
5、便网络编程,由由 Microsoft 联合了其他几家公司共同制定联合了其他几家公司共同制定的的 一套一套 WINDOWS 下的网络编程接口,下的网络编程接口, 它是通过它是通过 C 语言的动态链接库方式提供给用户及软件语言的动态链接库方式提供给用户及软件 开发者的,主开发者的,主要由要由 winsock.h 头文件和动态链接库头文件和动态链接库 winsock.dll 组成,目前有两个版本:组成,目前有两个版本: Winsock1.1 和和 Winsock2.0。作为网络编程接口,。作为网络编程接口,Winsock 屏蔽了网络底层的复杂的协议和屏蔽了网络底层的复杂的协议和 数据结构,使得编程人
6、员对网络的操作变得非常简单,因此,在数据结构,使得编程人员对网络的操作变得非常简单,因此,在 Win32 平台上,访问众多平台上,访问众多 的基层网络协议,的基层网络协议, Winsock 是首选接口。是首选接口。 开发平台我选用了开发平台我选用了 VC6.0,因为一直以来都使用因为一直以来都使用 VC6 进行学习,对这个进行学习,对这个 IDE最为熟悉,再者最为熟悉,再者 VC 同样是由微软开发的系统,与其操作系统,网同样是由微软开发的系统,与其操作系统,网 络接口具有最为密切的契合优点,所以选择了络接口具有最为密切的契合优点,所以选择了 VC6.0。 2.2 设计设计思想、设计框图及数据库表结构思想、设计框图及数据库表结构 (1)系统总体设计思想:)系统总体设计思想:通常的通信工具,都采用客户机通常的通信工具,都采用客户机/服务器服务器(C/S)体系结构,体系结构, C/S 结构是这样的一种结构: 它包括一个客户机结构是这样的一种结构: 它包括一个客户机(或前端或前端),一个服务器一个服务器(或称后端或称后端