- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件简介
本软件主要完成简单的多客户端实时通信,基于TCP协议的局域网聊犬软 件。首先启动服务器,服务器启动后等待客户端的请求,同时显示出离线用户列 表。客户端通过输入账号和密码进行登录,如果登录成功,则进入聊天界面,同 时显示当前在线好友列表和离线好友列表,如果登录失败,则提示用户账号或者 密码错误。当多个客户端进入聊天室后,客户Z间可以进行群聊,用户同时可以 选择与当前在线的某一好友进行私聊。
二、 需求分析
2.1、 任务概述
随着信息化时代的快速发展,互联网的应用越来越广泛,同时实时聊天通 信技术变得口益重要,不论在学校、家庭或者是公司,局域网聊犬己经离不开我 们的日常生活。木软件所设计的局域网聊天系统能够实现局域网的聊天、群聊、 私聊等功能。
2.2、 需求规定
该软件可以完成多客户端的通信,服务器端包括:服务器启动,离线用户 列表和在线用户列花同时还要完成客户端登录信息的验证,当有用户登录成功 时,服务器端实时刷新在先用户列表。客户端包括:用户登录,当用户登录成功 后,进入聊天界面,用户之间可以进行群聊和私聊。
2.3、 对性能的规定
时间特性要求
所有发送操作的响应的时间一?般不超过1秒,大量的信息发送后,应该在5 秒内显示,如果未发送失败,会提示出和关的错误信息。当存在离线用户上线时, 用户在线列表更新时间在3秒内响应。
运行环境规定
该软件只能在windows环境平台下运行,内存在256M以上,不更盘1G空余
空间。
三、总体设计
3.1.软件总体功能结构图
图(3.1)软件总体功能结构图
如图(3.1)所示为该软件总体功能结构图,其中主要包括两大部分:服务 器端和客户端。其中服务器端主要包括:连接数据库、用户列表更新、客户端信 息处理。客户端包括:客户端登录、在线用户列表、离线用户列表、用户群聊、 用户私聊。
3.2、软件工作流程图
图(3.2)软件工作流程图
如图(3.2)所示,为整个软件工作的流程图,首先开启服务器,服务器等 待客户端的请求连接,然后客户端发送连接请求(发送账号和密码),然后等待 服务器的冋应,服务器收到连接请求后,验证客戸信息,如杲信息验证成功,则 连接建立成功,好友之间通过服务器端向客户端发送好友信息。
3?3、服务器总体设计
服务器端主要功能:
(1) 数据库设计:设计数据库,用户存储客户信息,例如用户的账号、密 码、昵称等。
(2) 客户端请求信息处理:主要用来处理用户登录验证,如果验证成功, 则给客户端回复登录成功信息。
(3) 客户端信息转发:主要完成客户之间通信时,首先客户发送信息给服 务器,服务器端然后在转发给其他的客户。
(4) 用户列表更新:主更用來处理当有新客户端登录成功后,对现在用户 列表和离线用户列表进行更新。
3.4.客户端总体设计
客户端主要功能:
(1) 客户端登录:主要完成客户端的登录,客户端输入用户名和密码,然 后进行登录,如果登录成功,则跳转到聊天模块,如果登录失败,则提醒用户名 或者密码错谋。
(2) 连接服务器:通过当前输入的账号和密码,连接服务器开启的端口号。
(3) 实时通信模块:主要完成在线用户之间进行群聊和私聊。
(4) 用户列表更新:主要显示当前在线好友列表和离线好友列表。
四、详细设计
4?1、软件详细的功能流程图
图(4.1)软件详细功能流程图
4?2、数据库设计
该系统采用的是微软的Access数据库,用來存放川户信息,数据字典如下表所示:
表(一)用户信息
字段
名称
备注
账号
昵称
StrName
密码
strPass
真实姓名
strRealName
性别
strSex
木系统将数据库操作封装为一个类,方便开发人员的操作,和关的函数介
绍如下所示:
打开数据库函数:void OpenDataBase();
关闭数据库 I羽数:void CloseDataBase();
打开记录集:_RecordsetPtr OpenRecordset(CString sql);
关闭记录集:void CloseRecordset();
4?3、程序中定义的核心数据结构
1、定义消息头的数据结构
typedef struct tagHeader
{
char type;
int len;
} Header, *pHeader;
以上结构体主要包含两个部分内容,type为chai?型字符,用来存储用户发 送的是什么类型的消息,type定义的取值如下所示:
//用户登录消息〃用户发送消息〃用户私聊消息〃用户密码验证成功消息〃用户密码验证失败消息〃服务器停止消息〃应答消息 TOC \o 1-5 \h \z
//用户登录消息
〃用户发送消息
〃用户私聊消息
〃用户密码验证成功消息
〃用户密码验证失败消息
〃服务器停止消息
〃应答消息
#def
原创力文档


文档评论(0)