网络聊天室的设计与实现.doc
《网络聊天室的设计与实现.doc》由会员分享,可在线阅读,更多相关《网络聊天室的设计与实现.doc(30页珍藏版)》请在咨信网上搜索。
1、(完整word版)网络聊天室的设计与实现 毕业设计(论文)题目 网络聊天室设计与实现 毕业设计(论文)任务书(开题报告)毕业设计(论文)教师指导记录表指导教师系别职称学生姓名学号系别专业第一次指导指导时间:指导内容:第二次指导指导时间:指导内容:第三次指导指导时间:指导内容:第四次指导指导时间:指导内容: 摘要:随着网络的逐渐普及,以及网络技术的不段发展,人们通过网络进行交流的方式变得多样化。网络聊天室便是其中之一。聊天室系统的即时交流方式满足了网络中多人同时聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。 本设计所完成的网络聊天室具有常用聊天室的所有功能,包括多人同时在线
2、聊天、两人间的私密聊天、在发言的时候能够发送表情及图片,还能显示在线用户列表,同时,为了管理聊天室中的用户,设计了用户注册登陆功能,用户管理功能以及用户留言功能。并且,加入了分屏、清屏、屏蔽的辅助功能,增加了聊天室的操作性。本文首先介绍了聊天室系统所使用到的一些关键技术,接着介绍了该系统的设计思路和需求分析,然后是对系统的详细介绍,包括系统中创建的数据库以及系统的具体功能介绍。关键词:聊天室;B/S模式;私聊;留言目录 1.引言22 技术简介22.1 ASP技术22.2 数据库技术32.3 加密技术33 需求分析43.1系统运行环境43.2系统总体结构43.3 模块功能分析44 系统总体设计5
3、4.1 系统总体规划54.2 系统数据库设计64.2.1 数据库概念模型64.2.2 数据库各表设计74.2.3 数据库连接的实现85 系统功能具体实现85.1 用户注册登陆模块95.1.1 用户注册95.1.2 用户登录105.2 用户密码修改105.3 用户发言125.4 聊天内容显示135.5 在线用户列表显示165.6 管理功能175.7 辅助功能区18结论19参考文献201.引言随着网络的逐渐普及,以及网络技术的不段发展,人们通过网络进行交流的方式变得多样化。网络聊天室便是其中之一。在网站建设迅速发展的今天,基于B/S模式的ASP网络聊天室已经成为较多网民认可的一种聊天交流平台,各种
4、专家座谈、在线答疑室,实质就是聊天室。聊天室系统的即时交流方式满足了网络中多人同时聊天交流的需要,使得较多的人在同一个聊天页面进行交流变得方便,简单。 本聊天室的开发目的就是为人们在网络中提供一个即时的网页交流平台,通过这个平台,人们可以随意发言和观看大家发言的内容。其中的一大特点就是聊天室中的用户可以选择发言的对象,进行一对一的私聊,别人是无法看到两人间对话的内容的。本系统开发采用B/S(浏览器/服务器)结构,参考网络中正在使用的大型聊天室的架构、分析聊天室可实现功能,结合本次设计的相关要求,进行开发设计并写出需求分析说明书。 具体开发环境:使用windows2003作为服务器运行平台,同时
5、搭建系统运行平台IIS、DNS域名服务器;以ASP语言作为开发语言,主要研究HTML、JAVA SCRIPT、VB SCRIPT以及SQL数据库语言;后台数据库使用SQL SERVER或系统自带的ACCESS数据库;开发工具包括DREAMAVER、PHOTOSHOP、IE、SQL SERVER等。2 技术简介2.1 ASP技术ASP技术是一种类似HTML(Hypertext Markup Language超文本标识语言)、Script与CGI(Common Gateway Interface通用网关接口)的结合体,简单的讲它是一种运行于服务器的脚本语言,但是其运行效率比CGI更高、程序编制也比
6、HTML更方便且更有灵活性,程序安全性及保密性也远比Script好。其特点归纳如下:1. ASP可以和HTML或其他脚本语言(VB Script与Java Script)互相嵌套。2. ASP是一种在Web服务器端运行的脚本语言,因此,程序代码完全保密。3. ASP以对象为基础,因此可以使用ActiveX控件继续扩充其功能。4. ASP内置ADO组件,因此可以轻松地存取各种数据库,大大缩短了程序开发时间。5. ASP可以将运行结果以HTML的格式传送至客户端浏览器,因此ASP可以适用于各种浏览器。 下面来介绍一下ASP的几个内置对象:Request对象,我们知道HTTP通讯协议是一种请求与响应
7、(Request/Response)的通讯协议,因此通常由客户端向Web服务器提出请求,Web服务器才会响应信息。因此在ASP中,特别将“客户端提出的要求”与“Web服务器响应的信息”等动作封装成Request对象与Response对象。换而言之,Request对象通常包含了用户端的相关信息,如浏览器的种类、表头信息、表单参数及cookies等等。Response对象,每一种程序语言或开发工具一定都有与用户沟通的界面或函数,ASP也不例外。在ASP中负责将信息传达到用户的对象就是Response对象。Server对象,Server对象允许用户取得服务器提供的各项功能,例如,Server对象的C
8、reateObject方法允许客户端用户建立一个ActiveX Server组件实例,其所建立组件实例会随着服务器端完成ASP网页的处理而自动被释放。如果希望此对象实例可以跨多个ASP网页,就要用到Session对象保留该组件实例,直到Session对象的运行时间到了,或是在其他ASP网页调用Session对象的Abandon方法,此组件实例才会被释放。Session对象,Session对象在ASP程序编写中占了相当重的份量,由于网页是一种无状态的程序,因此几乎无法知道用户的浏览状态。必须通过Session对象记录用户的相关信息,以供用户再次对此Web服务器提出要求时作确认,例如,在某些特定的
9、网页中,常需要用户输入确认的账号和密码,假如这些身份确认的结果无法保留,那岂不是每一个网页都需要重新输入一次密码。换而言之,每一个Session的用户,Web服务器均会自动的为它们建立一个Session。必须说明,Session对象只能适用于具备Cookie功能的浏览器。2.2 数据库技术在基于微软IIS/PWS的网络平台上,通过服务器端运行的ASP程序来访问后台数据库,是一种最常见的模式了。而对于小型的数据库应用需求,微软的Access数据库应该是与ASP程序配套使用的首选。由于Access数据库的ODBC驱动程序支持的SQL指令全,执行效率高,所以Access后台数据库+ASP服务器端程序
10、+客户端IE浏览器,是一个精练实用高效的组合模式。利用SQL语言,可以查询和管理自已的数据库。它由大约30条命令构成,但实际只需要少数的几个命令就可以完成相当多的工作,常用的SQL查询命令有:Select、Insert、Delete、Update等。2.3 加密技术本设计在用户密码和密码问题答案的存储时使用了MD5加密算法来保护数据库中的重要数据。MD5,即“Message-Digest Algorithm 5(信息-摘要算法)”,以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128
11、位的散列值。本设计在保存会员密码和密码提示问题答案时都先将传递的数据通过MD5加密后才存入数据库,故在数据库中只能看到已经加密的信息,保证了信息的安全。又因为该算法是单向加密的,没有解密算法,然而MD5算法对同一段明文加密得出的密文是唯一且相同的,相当于这段数据的数据指纹,所以当有数据要和保存的数据进行比较时,便可通过将需要对比的数据进行MD5加密后再对比。3 需求分析本系统采用B/S模式设计,开发目的主要是在网络中提供一个安全的供多人休闲聊天交流的平台,同时借助开发此系统提高自己的独自设计能力。3.1系统运行环境 本系统是在windows 2003 server操作系统下,搭建IIS系统运行
12、平台,使用DREAMWEAVER和Frontpage作为开发工具开发的,数据库使用ACCESS 2003。运行本系统,需要满足如下要求:(1) 服务器端配置:Windows 2000 ServicePack 4.0 以上操作系统,Internet 信息服务器 5.0(IIS 5.0)Microsoft Offices ACCESS 2000 以上版本(2)客户端要求配置Windows 2000 ServicePack 4.0 以上操作系统,IE浏览器5.0及以上版本3.2系统总体结构 根据聊天室的主要功能分析,本系统一共分为七大功能模块:用户注册登陆模块、发言功能模块、聊天内容显示功能模块、显
13、示用户列表模块、辅助功能区模块、管理功能模块以及用户密码修改功能模块。其中辅助功能区包括用户举报模块以及分屏等操作功能,功能结构图如图3.1所示。聊天室系统用户注册登陆模块分屏功能用户密码修改模块用户发言模块聊天内容显示模块在线用户列表显示模块辅助功能区模块管理功能模块清屏功能屏蔽功能用户举报图3.1 功能结构图3.3 模块功能分析(1)用户注册登陆模块完成新用户注册,将注册信息添加到数据库中,用于用户登陆验证;经过登陆验证的用户,方可进入聊天室进行聊天交流。(2)用户密码修改模块当用户不小心忘记或记错了自己的注册密码时,可通过修改密码,重新设定登陆密码,其中要经过密码提示问题的验证,顺利通过
14、才能修改密码。(3)用户发言模块除了提供发言内容的输入外,还应能显示当前用户正在对谁发言、可选择发言的颜色和发言的表情。发言的颜色和发言表情通过下拉式组合框实现。发言内容书写完毕后,通过单击“提交”按钮或按回车,实现聊天内容的显示。(4)聊天内容显示模块主要完成将每个用户的发言的内容显示在页面中,让这些内容对每个登陆用户均可见(除开私聊内容),同时还能及时显示各用户的发言内容,以便始终能显示出最新的发言内容。(5)在线用户列表显示模块该页面实现在线人数和在线用户的统计,并将在线用户依次显示出来。每个显示用户应设置为一个超链接,当单击用户名时,实现将发言区中的发言对象设置为该用户。(6)辅助功能
15、区模块提供诸如分屏、清屏、刷新、屏蔽、显示名单的操作功能。同时为用户提供了举报的流言功能。(7)管理模块系统管理员可以查看用户注册信息以及用户留言,并对其进行管理。4 系统总体设计4.1 系统总体规划聊天室系统的总体流程由用户登陆开始,通过验证后,用户便可进入聊天页面进行交流聊天,同时,系统会将新登陆用户的用户名添加进在线用户列表,即时更新。总体流程图如图4.1所示。用户登录统计在线人数、在用户列表和发言数组中添加新用户和公告信息。进入聊天主页面注册用户?是否开始退出图4.1 系统总体流程图4.2 系统数据库设计4.2.1 数据库概念模型 根据系统功能和和流程所需数据要求,可以确定数据库中数据
16、项和数据结构,其E-R图如图4.2所示。表baseuser表 投诉验证用户名密码问题答案性别emaillevesdatedatequestionIDUsername1username图4.2 数据库E-R图E-R(Eneity-Relationship Approach)图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模的。4.2.2 数据库各表设计对于聊天室系统,所需的数据库表有baseuser和投诉两张表。Baseuser表用于存放注册用户的基本信息,其具体字段设计如表4.1所示。表4.1 baseuser表字段字段名数据类型长度是否允许为空说明Nam
17、e文本16否用户注册名Password密码50否用户登陆密码MD5值问题文本50否密码提示问题答案密码50否密码提示问题答案MD5值Email文本50否用户邮箱性别文本2否用户性别Leves文本10否用户权限Date时间10否注册时间投诉表用于存放用户在聊天过程中向管理员反应的举报信息,具体字段设计如表4.2所示。表4.2 投诉表字段字段名数据类型长度是否允许为空说明ID自动编号Username文本16否投诉人用户名Username1文本16否被投诉人用户名Qusetion文本50否投诉描述Date时间10否投诉时间4.2.3 数据库连接的实现数据库连接操作是一个相当频繁的操作,在ASP的数据
18、库编程中,connection对象是我们不可能离开的一个对象,该对象是ADO对象模块中的一个专门打开和关闭数据库连接的对象,在对数据库进行任何的操作,比如更新记录,插入,删除,检索等,都必须以connection对象的建立为前提。形象地来说,connection对象就是程序与数据库沟通的管道,所有对数据库的操作,都必须经过它,因此,本系统首先建立一个connection对象的实例变量,然后才能在它的基础上建立Recordset对象实例来操作数据库。这里首先利用connection对象的属性ConnStr 设置数据库的连接方式,使用的是Access OLE DB驱动程序。使用server.cre
19、ateobject方法建立connection对象的实例变量conn,使用connection对象的Open方法打开数据库连接,核心代码如下:connstr=DBQ=+server.mappath(userdata.mdb)+;DefaultDir=;DRIVER=Microsoft Access Driver (*.mdb);set conn=server.createobject(ADODB.CONNECTION)conn.open connstr其中,还使用了server对象的Server.MapPath(Path)方法,作用是将(path)指定的虚拟路径转换为实际路径,大大提高了本系统
20、的移植性。5 系统功能具体实现聊天室的功能主要是实现用户的发言和观看大家发言的内容,发言界面和聊天内容需要显示在同一屏界面中,以方便发言和观看,另外,通常还需要显示当前在线的人数和用户列表,以方便选择对谁发言。用户书写发言的界面、聊天内容的显示、用户列表的显示均需要通过单独的页面来实现,为了能在同一屏界面中同时显示多个页面的内容,此时需要利用带框架集的页面来实现。框架集是多个框架的集合,每一个框架可显示一个页面的内容,在同一屏中需要显示多少个页面,就需要创建一个具有多少个框架的框架集来实现,整个框架集最后存盘形成一个页面,以后浏览该页面时,各框架集中的内容就会自动显示出来。5.1 用户注册登陆
21、模块5.1.1 用户注册在聊天室首页,单击“用户注册”,便可进入用户注册页面,如图5.1所示图5.1 用户注册页面用户进入注册页面后,根据要求,填写表单中各项数据,单击确定后,系统通过表单传递的“POST”方法,将输入的内容传递给后台处理页面usersave.asp进行写入数据库处理。其中,在进行表单传递的时候,系统还调用了check()函数对填入表单的数据进行检验,一旦发现表单中有一个数据项不符合要求,系统便会弹出出错信息,提示用户重新填写。在后台处理页面中,系统先定义对应于表单各数据项的变量,利用ASP内置的Request对象,将用户填入表单的数据赋给这些变量,在存入数据库的时候直接将变量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络 聊天室 设计 实现
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。