北京科技大学
软件课程设计报告
——C语言
班 级: 自1103
姓 名: 高云峰
学 号:
指导教师: 曾 慧
日 期: 2012 年 9 月 8 日
目 录
1设计内容[1级标题]1
2应用程序总体分析与设计[1级标题]1
3应用程序各功能模块分析与设计[1级标题]1
3.1功能模块[2级标题]1
3.1.1[3级标题]1
3.2模块流程图[2级标题]1
3.2.1[3级标题]1
3.3程序结构图[2级标题]2
3.3.1[3级标题]错误!未定义书签。
4程序测试4
4.1测试过程[2级标题]4
4.1.1VS2010截图[3级标题]4
4.2测试结果[2级标题]4
4.2.1服务器端截图[3级标题]4
4.2.2客户器端截图[3级标题]5
5程序文档5
5.1使用说明[2级标题]5
5.2程序说明[2级标题]5
6 程序源代码5
1设计内容[1级标题]
通过C 语言编程实现一个局域网聊天程序,包括服务器端程序和客户端程序,程序能够实现
两台主机间或多台主机间的基本通信。
2应用程序总体分析与设计[1级标题]
C 程序的编写和调试在Visual Studio 2010 集成开发环境中完成,通信协议选择TCP,并利用
WinSock API 函数完成网络通信。应用程序总体设计是根据功能,采用自顶而下的方法,进
行模块划分并确定各模块功能。运用数据流程图等描述工具进行模块程序设计。编程完成后,
对各模块进行上机调试,完成整个系统的开发。
3应用程序各功能模块分析与设计[1级标题]
3.1功能模块[2级标题]
3.1.1[3级标题]
功能模块分两部分——服务器端和客户端。
服务器端: (1)初始化模块用于初始化各个全局变量赋初始值。初始化Winsock,加载
Winsock 库。
()功能模块控制。该模块为其他模块提供调用的函数,包括参数获取功能
2
和错误输出功能 。
()服务模块。该模块为客户端提供服务功能,包括接收来自客户端的数据,
3
并发送数据到客户端。
客户端:(1)初始化模块。该模块用于初始化客户端的Winsock,加载Winsock 库。
(2)功能模块控制。与服务器端一样,该模块提供了参数获取和错误输出功能。
(3)数据传输控制模块。该模块控制着整个客户端的数据传输,包括数据发送和
接收等。
3.2模块流程图[2级标题]
3.2.1[3级标题]服务器端。
服务器端系统流程图所示。程序首先调用为库文件wsock32.lib 使用所需资源。程序首先调
用函数获取用户提供的先项,如果没有提供选项,则直接使用默认值,如果有选项提供并成
功获取 (选项错误则显示用户帮助并终止程序),则初始化变量和Winsock,并创建TCP 流
套接字;接下来将创建的TCP 流套接字和设定的服务器地址绑定 (调用bind ()函数);绑
定成功后,则开始用listen()函数侦听客户的连接。接收客户端请求成功后,进行接收数据、
发送数据等操作。接收数据完毕后,关闭窗口完成通信。
1
开始
获取参
否
获取成
是
初始化变量
和Winsock
创建套接字