详细功能分析报告.docx
一、软件简介
本软件主要达成简单的多客户端及时通讯,鉴于TCP协议的局域网聊天软件。第一启动服务器,服务器启动后等候客户端的恳求,同时显示出离线用户列表。客户端经过输入账号和密码进行登录,假如登录成功,则进入聊天界面,同时显示目前在线挚友列表和离线挚友列表,假如登录失败,则提示用户账号或许密码错误。当多个客户端进入聊天室后,客户之间能够进行群聊,用户同时能够选择与目前在线的某一挚友进行私聊。
二、需求剖析
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、软件详尽的功能流程图
服务器端初始化套接字
AfxSocketInit()
客户端初始化套接字
AfxSocketInit()
创立Socket对象:
CServerSocket*m_pSocket
动向分派Socket套接字
CSocketClient*clientSocket
设置绑定Socket端口号:
9999m_pSocket-Create(9999)
动向分派登录对话框
CDlgLogin*loginDlg
开始监听客户端的恳求
m_pSocket-Listen()
用户、密码能否为空考证
IdentifyNull(name,password,
server)
服务器端接收OnAccept(intnErrorCode)
创立套接字而且连结服务器
成立连结CreateSocket(server)
Connect(socketServer,9999)
服务器端办理信息OnReceive(intnErrorCode)
If(type==LOGIN_IO)if(type==PASS_SUCCESS)
用户信息考证成功
Headerhead
Head.type=PASS_SUCCESS更新在线用户列表:
UpdateUser()
Send(Header)向服务器发送用户登录信息
Head.type=LOGIN_IO
head.t