1、 软件课程设计报告软件课程设计报告 C C 语言语言 班 级: 姓 名: 学 号: 指导教师: 日 期: 2012 年 9 月 6 日 i 目目 录录 1设计内容 . 1 2应用程序总体分析与设计 1 3应用程序各功能模块分析与设计. 1 3.1功能模块 1 3.1.1 服务器 1 3.1.2 客户端 . 1 3.2模块流程图 2 3.2.1 服务器 . 2 3.2.2 客户端 . 3 3.3程序结构图 4 4程序测试 . 4 4.1测试过程 4 4.1.1 服务器端 VS 2012 截图 4 4.1.2 客户端 VS 2012截图 6 4.2测试结果 7 4.2.1 服务器端截图 7 4.2
2、.2 客户端截图 7 5程序文档 . 8 5.1使用说明 8 5.2程序说明 8 5.2.1 模块说明 8 5.2.2 头文件说明 8 5.2.3 主要变量含义 8 6 程序源代码 . 9 6.1服务器端源代码 9 6.2客户端源代码 . 12 1 1 1 设计内容设计内容 通过C语言编程实现一个局域网聊天程序,包括服务器端程序和客户端程序,程序 能够实现两台主机或多台主机间的基本通讯。高级功能包括用户注册和信息校验,能 够储存聊天记录,能够实现多人聊天。 2 2 应用程序总体分析与设计应用程序总体分析与设计 (1) C 程序的编写和调试在 Visual Studio 2010 集成开发环境中
3、完成; (2) 通信协议选择 TCP,并利用 WinSock API 函数完成网络通信; (3) 进行题目分析,包括数据分析和功能分析,作为应用程序设计的依据; (4) 应用程序系统设计,包括: a) 总体设计,即根据功能分析,采用自顶向下的方法确定应用系统的总 体结构,进行模块划分并确定各模块功能; b) 模块设计,即按照功能模块,使用数据流程图,N-S 结构图等描述工具进行 模块程序设计; c) 编程及调试,对各模块进行编程并上机调试,完成整个系统的开发。 3 3 应用程序各功能模块分析与设计应用程序各功能模块分析与设计 3.13.1 功能模块功能模块 3.1.1 服务器 (1) 初始化模
4、块:定义程序各变量以及对部分变量赋初值。 (2) 功能调用模块:完成对Winsock的调用,创建流式套接字,绑定套接字与本 地地址,监听连接,接受客户端连接,关闭连接与套接口以及输出错误信 息。 (3) 数据传输模块:完成与客户端之间的数据收发。 3.1.2 客户端 (1) 初始化模块:定义程序各变量以及对部分变量赋初值。 (2) 功能调用模块:完成对Winsock 的调用,创建流式套接字,连接至服务器 端,关闭连接与套接口以及输出错误信息。 2 (3) 数据传输模块:完成与客户端之间的数据收发。 3.23.2 模块流程图模块流程图 3.2.1 服务器 否 是 否 是 是 是 是 是 开始 成
5、功打开 Winsock 定义变量 成功绑定套接字 与本地地址 成功创建套接字 成功监听连接 成功接收客户端 连接 接收数据 发送数据 客户端断开连接 关闭读写通道 关闭套接口 终止使用 Winsock 结束 输出错误信息 否 否 否 否 3 3.2.2 客户端 是 否 是 否 是 是 开始 成功打开 Winsock 定义变量 成功连接至服务 器端 成功创建套接字 发送数据 接收数据 客户端断开连接 关闭读写通道 关闭套接口 终止使用 Winsock 结束 输出错误信息 否 否 4 3.33.3 程序结构图程序结构图 4 4 程序测试程序测试 4.14.1 测试过程测试过程 4.1.1 服务器端
6、 VS 2012 截图 局域网聊天程序 服务器 客户端 初 始 化 模 块 功 能 调 用 模 块 数 据 传 输 模 块 初 始 化 模 块 功 能 调 用 模 块 数 据 传 输 模 块 5 6 4.1.2 客户端VS 2012 截图 7 4.24.2 测试结果测试结果 4.2.1 服务器端截图 4.2.2 客户端截图 8 5 5 程序文档程序文档 5.15.1 使用说明使用说明 程序功能:本程序是一个局域网聊天程序,能够实现两台主机或多台主机间的基本通 信。 运行环境:Windows XP/7 及更高版本。 安装方法:直接运行程序。 说明:首先运行服务器端程序,然后运行客户端程序,在客户端输入服务器的IP 地址 以建立连接。建立连接后,双方可进行数据传输。输入欲发送的信息,敲击回车键进 行发送,对方即可收到相应信息。 5.25.2 程序说明程序说明 5.2.1 模块说明 服务器: (1) 初始化模块:定义程序各变量以及对部分变量赋初值。 (2) 功能调用模块: