基于MFC的在线聊天系统课程设计说明书.docx

上传人:小飞机 文档编号:3384950 上传时间:2023-03-12 格式:DOCX 页数:7 大小:38.78KB
返回 下载 相关 举报
基于MFC的在线聊天系统课程设计说明书.docx_第1页
第1页 / 共7页
基于MFC的在线聊天系统课程设计说明书.docx_第2页
第2页 / 共7页
基于MFC的在线聊天系统课程设计说明书.docx_第3页
第3页 / 共7页
基于MFC的在线聊天系统课程设计说明书.docx_第4页
第4页 / 共7页
基于MFC的在线聊天系统课程设计说明书.docx_第5页
第5页 / 共7页
亲,该文档总共7页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于MFC的在线聊天系统课程设计说明书.docx》由会员分享,可在线阅读,更多相关《基于MFC的在线聊天系统课程设计说明书.docx(7页珍藏版)》请在三一办公上搜索。

1、基于MFC的在线聊天系统课程设计说明书操作系统 实验报告 一 概要设计 3.1 系统体系结构 本系统由教注册、登陆和聊天等部分组成。注册模块主要完成用户信息的提交,登陆模块用于验证操作者的信息,聊天模块主要包括群聊、私聊,刷新在线用户列表、显示其他用户发送的信息、发送信息给其他用户、上传下载资源等。系统体系结构如下图所示: 开始 注册信息 未通过 提交服务器审核 通过 注册成功 完成 1 提示用户已 被注册 开始 登录 判断 未通过 提示“用户名或密码错误” 通过 完成 2 开始 选择是否 开启音乐 否 选择聊天方式 群聊 发送信息/接受 信息 否 是否退出 是 是 开启音乐软件 私聊 指定私

2、聊对象 3 退出 结束 3.2 系统的设计与实现 3.2.1 数据库设计 本系统主要采用以下数据库表: 个人信息表 个人信息表主要存储用户的一些基本注册信息,其中包括用户名和密码字段,主要用于用户系统对用户的识别。具体内容见表1: 表1 个人信息表 字段 用户名 密码 真名 年纪 性别 职业 类型及长度 varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) varchar(50) 备注 主键 不能为空 可为空 可为空 可为空 可为空 3.2.2 模块实现 3.2.2.1 注册模块的实现 注册 用户首次使用该系统应该先完成注册。按

3、照系统提示的步骤,逐步完成注册后即可登录该系统,使用该系统。 3.2.2.2 登陆模块的实现 登录 用户凭借已经注册的用户名和密码登陆该系统。 3.2.2.3 聊天模块的实现 群聊 私聊 用户点击界面上的群聊或私聊按钮即可和他人进行聊天。 4 听音乐 用户点击听音乐的按钮,可打开音乐软件进行听音乐。 刷新在线用户列表和显示别人发来的信息 当有人登陆是可以自动刷新登陆列表,当有人发送信息时,会显示信息。 上传下载 用户可以点击上传或下载按钮,把电脑资源上传或从服务器下载资源,而且用户可点击修改按钮,实现上传信息的修改。 5 二 详细设计 4.1 用户进行通信 用户按照界面提示进行交流,通过MFC

4、的SOCKET编程实现客户端与服务器的数据传输,下面通过流程图和主要代码段详细说明设计过程: 因此只要安装了客户端,连接了客户端后即可与其他人进行通信。 实现客户端主要: 下面一段代码是对套接字的初始化: CLoginDlg dlg; 6 int nRet = -1; nRet = dlg.DoModal;/此成员函数用来显示一个模态对话框。其返回值对应于用来关闭对话框的控件的ID。 switch(nRet) case IDOK: m_pMySocket = new CMySocket(this); if(!m_pMySocket-Create)/创建套接字 delete m_pMySocke

5、t; m_pMySocket = NULL; if(!m_pMySocket-Connect(dlg.m_strIP, dlg.m_nPort)/连接服务器 m_sUsername = dlg.m_strUserName; / 连接成功后发送登录消息 Packet packet; memset(&packet, 0, sizeof(Packet);/清零 packet.type = LOGIN_REQUEST; delete m_pMySocket; m_pMySocket = NULL; AfxMessageBox(连接服务器失败!); return; AfxMessageBox(创建套接字

6、失败!); return; strcpy(packet.username, dlg.m_strUserName); strcpy(packet.password, dlg.m_strPassword); m_myname=dlg.m_strUserName; UpdateData(false); 7 m_pMySocket-Send(&packet, sizeof(Packet);/send 功能向窗口发送指定的消息并立即执行相应的事件处理程序。 break; OnPaint;/绘图函数 void CChatClientDlg:OnButtonLogin /响应登陆函数,用于客户端登录 voi

7、d CChatClientDlg:OnReceive/接收服务器发送过来的消息并作出反应 void CChatClientDlg:OnButtonLogout /退出按钮响应函数 CChatClientDlg:OnButtonRegister /响应注册按钮 具体内容参考源代码。 4.2 用户界面设计 该系统中,用户所接触的所有界面均是使用MFC内置的对话框完成设计的。运用对话框而不使用菜单栏的理由是:对话框更人性化,用户打开界面后即可通过一系列的按钮和其他控件明白怎么实现该页面内的内置功能。虽说这样实现起来很好,但是由于时间原因,在优化系统界面可以说还不够完善,界面有点单调,因此在后期的制作中会着重考虑界面优化。下面通过几个界面向读者展示本系统的某些界面: 8 9 10 三 主要功能测试及截图 3.1用户注册 点击注册后,连接服务器,把注册信息添加到服务器端的数据库中,完成注册。 3.2用户登陆 11 点击连接后,发送用户名和密码到服务器。服务器端在数据库中查找,如果匹配,用户登陆成功,否则返回用户名或密码不正确。 3.3 聊天界面 12 用户发送信息给服务器。服务器通过判断发送方式选择是把信息显示给所有人,还是把信息显示给特定用户。 13 14 四 源代码 15

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号