




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
操作系统实验报告一 概要设计3.1 系统体系结构本系统由教注册、登陆和聊天等部分组成。注册模块主要完成用户信息的提交,登陆模块用于验证操作者的信息,聊天模块主要包括群聊、私聊,刷新在线用户列表、显示其他用户发送的信息、发送信息给其他用户、上传下载资源等(未实现)。系统体系结构如下图所示: 开始 注册信息 提示用户已被注册提交服务器审核 未通过 通过 完成注册成功 ( 注册模块 ) 开始 登录 完成判断提示“用户名或密码错误” 未通过通过 (登录模块 )开始 选择是否开启音乐 是开启音乐软件否选择聊天方式指定私聊对象私聊发送信息/接受信息群聊是否退出否结束退出是 (聊天模块)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.2.2.2 登陆模块的实现 登录 用户凭借已经注册的用户名和密码登陆该系统。3.2.2.3 聊天模块的实现 群聊 私聊用户点击界面上的群聊或私聊按钮即可和他人进行聊天。 听音乐用户点击听音乐的按钮,可打开音乐软件进行听音乐。 刷新在线用户列表和显示别人发来的信息 当有人登陆是可以自动刷新登陆列表,当有人发送信息时,会显示信息。 上传下载(暂未实现)用户可以点击上传或下载按钮,把电脑资源上传或从服务器下载资源,而且用户可点击修改按钮,实现上传信息的修改。 二 详细设计4.1 用户进行通信 用户按照界面提示进行交流,通过MFC的SOCKET编程实现客户端与服务器的数据传输,下面通过流程图和主要代码段详细说明设计过程: (通信流程图)因此只要安装了客户端,连接了客户端后即可与其他人进行通信。实现客户端主要:下面一段代码是对套接字的初始化: CLoginDlg dlg;int nRet = -1;nRet = dlg.DoModal();/此成员函数用来显示一个模态对话框。其返回值对应于用来关闭对话框的控件的ID。switch(nRet) case IDOK: m_pMySocket = new CMySocket(this);if(!m_pMySocket-Create()/创建套接字delete m_pMySocket; m_pMySocket = NULL;AfxMessageBox(创建套接字失败!);return;if(!m_pMySocket-Connect(dlg.m_strIP, dlg.m_nPort)/连接服务器delete m_pMySocket;m_pMySocket = NULL;AfxMessageBox(连接服务器失败!);return;m_sUsername = dlg.m_strUserName;/ 连接成功后发送登录消息Packet packet;memset(&packet, 0, sizeof(Packet);/清零packet.type = LOGIN_REQUEST; strcpy(packet.username, dlg.m_strUserName);strcpy(packet.password, dlg.m_strPassword);m_myname=dlg.m_strUserName;UpdateData(false);m_pMySocket-Send(&packet, sizeof(Packet);/send 功能向窗口发送指定的消息并立即执行相应的事件处理程序。break;OnPaint();/绘图函数void CChatClientDlg:OnButtonLogin() /响应登陆函数,用于客户端登录void CChatClientDlg:OnReceive()/接收服务器发送过来的消息并作出反应void CChatClientDlg:OnButtonLogout() /退出按钮响应函数CChatClientDlg:OnButtonRegister() /响应注册按钮 具体内容参考源代码。4.2 用户界面设计该系统中,用户所接触的所有界面均是使用MFC内置的对话框完成设计的。运用对话框而不使用菜单栏的理由是:对话框更人性化,用户打开界面后即可通过一系列的按钮和其他控件明白怎么实现该页面内的内置功能。虽说这样实现起来很好,但是由于时间原因,在优化系统界面可以说还不够完善,界面有点单调,因此在后期的制作中会着重考虑界面优化。下面通过几个界面向读者展示本系统的某些界面:(用户登陆界面) (注册)(聊天界面)三 主要功能测试及截图3.1用户注册点击注册后,连接服务器,把注册信息添加到服务器端的数据库中,完成注册。3.2用户登陆 点击连接后,发送用户名和密码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保险培训讲师考试题库及答案
- 有用的企业面试题库及参考答案详解【夺分金卷】
- 足疗按摩师职业资格考试试题及答案
- 2025年直播电商主播与品牌合作模式创新与市场趋势报告
- 2025年老年健康管理长期照护服务模式与养老产业政策创新实践报告
- 2025年工业互联网平台生物识别技术在工业数据分析与挖掘中的应用报告
- 2025至2030年中国羊毛衫行业市场发展现状及投资方向研究报告
- 考点解析-华东师大版8年级下册期末试题含答案详解(基础题)
- 押题宝典执业药师资格证之《西药学专业二》试题含答案详解【轻巧夺冠】
- 2025版企业股权让与担保合同模板
- 深圳2025年重大项目计划申报
- 学生不住校申请书
- 2025年传动部件行业当前市场规模及未来五到十年发展趋势报告
- HBV感染中宿主细胞免疫应答与临床转归的关联探究
- 2025年福建省宁德市北京师范大学宁德实验学校公开招聘新任教师8人笔试备考题库及答案解析
- 2025年专业技术人员公需科目培训网上考试试题及参考答案
- 锚杆工程验收标准及记录表范本
- 特种设备作业人员Q1起重机指挥模拟考试题及答案2025
- 小学科学新教科版二年级上册第一单元 造房子教案(共6课)(2025秋)
- 2025至2030中国广播电视行业市场占有率及有效策略与实施路径评估报告
- 2025年秋期部编版五年级上册小学语文教学计划+教学进度表
评论
0/150
提交评论