




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件生产实习报告书网络聊天室的设计与实现学 号: 姓 名: XXX指导老师: XXX完成日期:2015年3月20日目录前言3可行性研究41.1功能需求41.2 相关技术与开发工具介绍4需求分析62.1功能要求62.2性能要求72.2.1系统需要解决的主要问题72.2.2系统具备的功能8详细设计93.1 运行流程图93.2 模块及代码93.2.1 登陆及退出登陆93.2.2用户注册模块及代码113.2.3聊天主页模块及代码11测试144.1登陆界面测试144.2 注册页面测试144.3 聊天室界面测试15致谢16参考文献16前言 在快速信息化的今天,越来越多的人使用网络聊天代替了传统的书信,口头交流。聊天室可以让来自世界各个不同的地方的人进行即时的交流。从而省略了书信等传统方式需要的时间和所消耗的精力。网络聊天室是用户比较喜欢的一种WEB应用程序,借助聊天室和他的留言系统,用户可以及时互通信息,交流思想.本系统主要采用了基于B/S(Browser/Server,即浏览器/服务器)模式开发的简易聊天室系统。本系统是采用了PHP技术开发的动态网站。可行性研究1.1功能需求网络聊天室工作主要是用户的聊天功能,包括数据输入、接收、输出和保存等功能,要能高效、准确地完成这些功能,并要达到界面美观友好、使用方便。使用方便、高效的MYSQL数据库,以相对成熟的thinkPHP为框架,能制作出功能强大的管理系统,因此选用PHP来制作网络聊天室,实现聊天,发表评论等功能。1.2 相关技术与开发工具介绍 PHP是当今最流行、成熟的WEB后台开发语言,它独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现。而且它是一个开源的、免费的、跨平台的语言【1】。MYSQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQL所使用的SQL语言是用于访问数据库的最常用标准化语言【2】。Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中【3】。ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。它可以快速,简洁的设计一个网站。需求分析2.1功能要求通过聊天室,用户可以自定义个人昵称,可以以不同的身份实时发送聊天信息,发送信息也可以进行各种设置包括聊天者的表情及文字颜色,功能更强大的聊天室不仅提供了文字聊天功能还支持视频和音频、传送文件、留言板等功能。聊天室的特点就是要求能够进行实时显示出聊天者所谈的内容。所谓“实时”就是指在同一个聊天室的不同使用者,可以在短时间里立刻看到其他人的发言,这与我们所说的论坛有很大的不同。在PHP没有得到广泛应用之前,聊天室大多是用CGI程序或者JAVA开发的APPLET维护的,要开发一个聊天室系统是很费时费力的。现在我们可以使用PHP快速、简单地设计出一个可以相互对话的典型聊天室程序,我们使用HTML代码加上PHP程序就可以构建出最基本的聊天室了。网上聊天室作为用户的最为喜欢的WEB应用程序,其特点就是强调信息的即使性和信息发布式的多样性。从功能上讲,网上聊天室系统与论坛系统非常相似,但聊天室系统有自己的特点。它强调信息的即使性,在聊天室保持连接的状态下,要求能够实时显示出聊天者所谈的内容。2.2性能要求开发一个完整的聊天室要用到许许多知识,在开发以前首先要知道开发的程序要满足哪些要求及实现的功能是什么。设计一个功能完善的聊天系统,工作量是非常庞大的,但设计时一般有以下几个问题需要我们注意。2.2.1系统需要解决的主要问题在规划设计一个聊天室时,首先要确定好谈话内容存储方式,即在客户机上显示即使谈话的内容应以什么方式存储在服务器中。PHP可以用两种形式实现聊天室内容的存取:1)用读写数据的方法实现。这种方法相对比简明,但服务器频繁读写数据库负担很重2)用读写文本文件完成.这种方法适合简单的聊天室。由于PHP对文本文件操作的指令远不如ADO提供的对数据库操作的指令多,所以利用ADO,PHP能灵活的操作数据库,如插入、删除、更新、查询等等。本设计选择了MYSQL数据库来存储谈话的内容。聊天室设计的性能的好坏的另一个重要标志就是聊天室成员的动态刷新。因为许多用户在退出聊天室的时候并不是标准的退出也就是说并不从退出连接推出的,这样就会带来很多的麻烦,因为服务器并不知道用户已经离开了。因此需要建立一个在线用户数据库,每隔一段时间检查一次,确定用户是否最后一次发言到现在已经超时,如果超时就自动将用户删除。但是每次用户发言的时候必须把发言时间写入数据库。2.2.2系统具备的功能本聊天室主要实现了以下功能:用户注册登陆聊天室聊天室把语句写入数据库浏览器不断的对数据库进行刷新读取实时更新在线的用户对用户留言进行查看和管理详细设计3.1 运行流程图登陆 无账号数据库聊天室注册有账号退出断开连接发送内容获取聊天内容获取在线状态连接显示获取相关内容3.2 模块及代码3.2.1 登陆及退出登陆display();/* * 处理登陆数据 */public function loginHandle()/ dump($_POST);if(!$_POST)$this-error(warning.);$user=M(user)-where(array(account=$_POSTaccount)-find();/ dump($user);die;if($user)$pwd=md5($_POSTpwd);if($pwd=$userpwd)session(account,$useraccount);M(user)-where(array(account=$_POSTaccount)-setField(status,1);$this-success(login.,U(GROUP_NAME./Index/homePage);else$this-error(wrong password,please try again.);else$this-error(wrong account,please try again.);/* * 退出登录操作 */public function logout()M(user)-where(array(account=session(account)-setField(status,0);cookie(account,null);$this-success(logouting.,U(GROUP_NAME./Login/index);?3.2.2用户注册模块及代码display();/* * 用户注册表单处理 */public function registerHandle()/ dump($_POST);if(empty($_POST)$this-error(warning.);if(!$_POST & empty($_POSTaccount) & empty($_POSTpwd)$this-error(warning.);else$pwd=md5($_POSTpwd);/ echo $pwd;die;$data=array(nickname=$_POSTnickname,pwd=$pwd,account=$_POSTaccount);$register=M(user)-data($data)-add();if($register)$this-success(register success!turning page.,U(GROUP_NAME./Login/index);else$this-error(false,please try again);?3.2.3聊天主页模块及代码display();/* * 利用ajaxreturn以JSON方式返回聊天内容数组 */public function ajax()/ var_dump($_POST);die;$data=array();$Model = new Model();$datacontent=$_POSTcontent;$datatime=time();$datatimee=date(Y-m-d H:i:s,time();$datasender=session(account);/ var_dump($data);die;$dd=M(msg)-data($data)-add();if($dd)$dataa=M(msg)-order(id desc)-limit(10)-select();$this-ajaxReturn($dataa); /* * 刷新时获取最新五条聊天内容和在线用户 */public function homePage()$this-msg=M(msg)-order(id desc)-limit(10)-select();$this-user=M(user)-where(array(status=1)-select();$this-display();/* * 即时返回最新五条聊天内容 */public function fresh()$data=M(msg)-order(id desc)-limit(10)-select();$this-ajaxReturn($data);/* * 即时返回在线用户 */public function freshUser()$dat=M(user)-where(array(status= 1)-select();$this-ajaxReturn($dat); ?测试4.1登陆界面测试4.2 注册页面测试4.3 聊天室界面测试致谢在本次课程设计过程中,冯老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。无论在理论上还是在实践中,都给予了我很大的帮助,使我得到很大的提高,这对于我以后的工作和学
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电子竞技行业电竞赛事与电竞全球化研究报告
- 2025年生物科技行业生产技术革新及产品应用分析报告
- 2025年教育科技行业在线教育AI辅助教学研究报告
- 2025年中医学中医诊断治疗常识考核模拟试卷答案及解析
- 2025年儿科常见疾病护理要点考察模拟测试卷答案及解析
- 2025国家电投集团吉电股份招聘11人笔试备考试题及答案解析
- 2025湖南高速工程咨询有限公司招聘劳务派遣员工12人笔试模拟试题及答案解析
- 2026国家管网集团福建公司秋季校园招聘10人笔试备考题库及答案解析
- 2025甘肃省“带编入企”引进高层次人才257人(第二批)笔试参考题库附答案解析
- 校园安全防骗培训课件
- 消防队伍管酒治酒课件
- 医学继续教育管理办法
- 夜间驾驶知识课件
- 动荡变化中的春秋时期
- 陕西省西工大附中2022-2023学年七年级上学期第一次月考英语试卷(含答案)
- 2025辅警考试题库(含答案)
- QGDW10212-2019电力系统无功补偿技术导则
- 牛奶面包食品配送服务 投标方案(技术方案)
- 菜鸟驿站运营管理制度
- 风管安装协议书
- 个人车位租赁合同(含充电桩安装)
评论
0/150
提交评论