已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
聊天室的设计与开发聊天室的设计与开发毕业论文目 录1 绪论111 课题研究背景与意义11. 1. 1 研究背景11. 1. 2 研究意义212 可行性研究413 技术路线42 开发工具的选用及介绍621 ASP技术与特点62. 1. 1 ASP技术62. 1. 2 ASP的特点72. 1. 3 ASP与传统技术的比较822 Dreamweaver92. 2. 1 Dreamweaver简介92. 2. 2 Dreamweaver的特点93 聊天室的设计1131 基于ASP的程序设计方法113. 1. 1 ASP的内置对象113. 1. 2 ASP的语法规则概述1132 聊天室运行环境1233 聊天室功能133. 3. 1 聊天室功能说明133. 3. 2 系统功能模块说明1434 聊天室的框架设计143. 4. 1 体系结构设计143. 4. 2 系统流程设计143. 4. 3 系统功能模块设计164 数据库的设计1841 数据库184. 1. 1 数据库简介184. 1. 2 数据库的选择184. 2 数据库概念模型194. 3 数据库各表的设计194. 4 数据库连接的实现215 聊天室的实现2251 聊天室的功能概述2252 聊天室的主要功能实现225. 2. 1 信息的组织、存储、共享的实现225. 2. 2 登陆功能的实现245. 2. 3 人员列表的实现255. 2. 4 公共聊天和私聊功能的实现思路255. 2. 5 聊天刷新问题的解决285. 2. 6 发言显示更新处理285. 2. 7 聊天室中实现踢人功能285. 2. 8 聊天室中实现封锁IP 地址功能295. 2. 9 屏蔽别人的讲话功能的实现295. 2. 10表情功能的实现306 系统的测试与运行3161 系统的测试316. 1. 1 测试工具316. 1. 2 测试方法3162 系统的运行337 系统的维护34参考文献36致 谢37附 录II聊天室的设计与开发1 绪 论1.1 课题研究背景与意义 1. 1. 1 研究背景互联网技术的广泛应用,对整个世界政治、经济、文化等各方面产生了十分广泛和深远的影响。它奇迹般地崛起、爆炸般地扩容,令全世界瞩目。互联网技术之所以能在如此短的时间内获得社会各方面的认可,并在全球范围内推广应用是应为互联网拥有庞大的信息资源、给人类提供全新的交往方式、存在着巨大的商机、虚拟现实技术的广泛应用等等,是促进互联网发展的重要因素。Internet是全球最大的计算机网络,它起源于1968年美国国防部高级研究计划局 (ARPA-Advanced Research Project Agency)主持研制用于支持军事研究的计算机实验网ARPANET。现代计算机技术的许多概念和方法便来自ARPANET。70年代中期,ARPA为实现异种网之间的互联(Interconnection)和互通(Intercommunication),大力资助网间网技术的研究开发,在1977年到1979年间提出目前形势的TCP/IP体系结构和协议规范。随后,ARPA不断鼓励在ARPANET上进行分组交换技术的研究开发,导致了TCP/IP的出现与发展。到今天,TCP/IP协议族己成为Internet的核心,它可以运行于几乎所有的物理网络之上。利用TCP/IP可以方便地实现多个网络的无缝连接。如今,大大小小的网络已遍布全球,并通过Internet实现了互联。据估计,Internet的规模大约每年要翻一番,网络的应用领域也从做出的科技和教育领域,很快进入到文化、产业、政治、经济、新闻、体育、娱乐、商业以及服务行业。互联网的发展已经成了人们关注的焦点,今后互联网如何发展,业内人士认为,互联网发展与应用将呈现四大趋势。(1)网络更加智能。(2)信息资源成为公共设施。(3)带宽风暴。(4)随时随地接入网络。Internet影响着世界,同时也在影响中国。自1985年,中国互联网“先行者”钱天白教授发出了国内的第一封E-mail,经过多年努力,中国互联网驶上了快车道。今天,中国Internet的发展已经走过了它的幼年期,中国的信息时代终于到来了。中国互联网络的建设凝结了无数知识精英的汗水。在某种程度上,借助于互联网,中国有可能实现跳跃式的发展,赶上发达国家,或缩短与发达国家之间的距离,从而在增加综合国力的同时,使我们的文化真正强大起来。另一方面,由于互联网发展的超常速度和异常波动,由于世界网络传播的不平衡状态,也由于网络技术内含的科学主义和工具主义倾向,也给我国主流文化带来了种种挑战和困惑。因此,在关注互联网的发展历程、发展趋向的同时,如何充分利用它对我国主流文化的影响,就成了一个具有现实性和紧迫性的问题。面对全球互联网迅猛发展的势头,我们应积极应对,提高认识,加强研究。 1. 1. 2 研究意义随着信息流量的日益加大,计算机网络技术得到飞速发展,各类网站不断涌现出来。而最受青睐的应属具有动态效果的网站,其页面的内容使用的不仅仅是标准的HTML代码。而是加入了各种“交互性”。有人给动态网站、动态页面的概念制定了以下几条规则:(1)“交互性”:即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大事所趋。(2)“自动更新”:即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量。(3)“因时因人而变”,即当不同的时间、不同的人访问同一网址时会产生不同的页面。而将网站“动态”化的方法很多,这要看你是出于何种需求。如果你是个人网站的维护者,使用的是免费主页空间,那么绝大多数情况下你只能使用Java、Java Script和最新的DHTML技术,如果你的主页空间提供者能给予你CGI权限或ASP支持,那么你将能非常幸运地发挥真正的动态技术。目前,常用的“动态”网站设计方法有:(1)CGI(Common Gateway Interface)通用网关接口的传统方式,当用户在浏览器端填好表单(form)要求输入的资料,提出HTTP请求后,WEB服务器端将执行一个表单所设定的可执行的CGI应用程序,CGI程序分析表单(form)中所输入的资料,存取WEB数据库,将查询执行的结果以HTML的格式返回给浏览器。使用CGI方式存取WEB数据库,有很多的缺点,譬如不易开发、变更修改成本高、功能有限、不易侦错、执行速度慢等,而且由于并非整合于HTML文档之中,因此必须使用与HTML完全不同的设计过程来设计一个可执行的应用程序。(2)IDC(Internet Database Connector)互联网数据库连接头是Windows NT Server内含Internet Information Server(简称IIS)2.0的特征之一,它提供了一种使你的互联网数据库内容得以发布并可与用户交互的方法,它实际上是一个包含于IIS中的I S A P I应用程序。你只需掌握HTML和SQL的基本知识并写为数不多的代码就能编出具有交互能力的数据库应用程序,让使用者在浏览器界面中得以查询、输入、更新、和删除WEB服务器上的数据资料。正如VB程序员所喜欢的那样,构成IDC应用程序的文件是解释性的,由于设计简易,只要准备两个档案,即可在用户端的浏览器中存取WEB服务器的数据资料,且无须编译,因此具有快速的开发循环和反馈。但这种简单性的代价是牺牲了许多灵活性,使你不得不放弃许多对用户接口的控制,并几乎放弃了所有验证数据的能力。因而IDC仅适用于简单的WEB应用程序。(3)ActiveX Data Object(ADO)是WEB数据库应用的最佳选择。ActiveX Data Object(简称ADO)究竟是什么呢?ActiveX Data Object的技术,让您可以与Active Server Pages(简称ASP)结合以建立提供数据资讯的网页内容,只需在网页面中执行Structured Query Language(结构化查询语言,简称SQL)指令,让用户在浏览器界面中输入、更新、和删除WEB服务器上的数据资料。当用户端的浏览器填好表单所要求输入的资料并按下“Submit”按钮后,经过互联网、内联网传送HTTP请求到WEB服务器,该请求在WEB服务器执行一个表单所指定的Active Server Pages程序(后缀名为. ASP的文档)。一个ASP文档是一个纯文字档,包括:HTML标记(tags)、VBScript或JScript语言的程序代码、ASP语法、和结构化查询语言SQL指令。IIS3.0 / 4.0 WEB服务器执行.ASP文档,通过ODBC驱动程式,连接到支持ODBC的数据库上,执行ASP文档所指定的SQL指令,最后将执行的结果以HTML的格式传送给用户浏览器。ADO具有容易使用、开发执行快速、消耗系统资源较少和占用磁盘空间小等优点。本设计所制作的网络聊天室也采用了ASP技术1。网上聊天系统为人们进行交流和联系提供的一个平台。通过提供完善的网上聊天系统的管理,可以达到增进人与人之间、商家与客户之间、消费者与消费者之间的交流和联系的目的。聊天室是一个通过国际互联信息网络进行多人通讯的系统。在这个信息极其发达的时代,目前我们可以用来进行信息交流的方法非常多,比如电报、电话、电子邮件等通讯手段,这些或者不方便或者有局限性或者有费用的问题,比如电话就是属于费用比较高的一种方式,而且一般情况下不能进行多人会谈,那么一个需要多人一起讨论的会议就不能举行。一般情况下都需要花费大量的人力物力把所需人员聚集到同一地点才能进行讨论。非但费时费力费钱而且效果也不一定很好。电子邮件则不是一种及时联系的手段,需要一定时间才能到达,只能作为一种辅助交流的手段。但是,聊天室就能很好的解决这个问题,我们不需要聚集在同一地点,各自在不同的地点就可以在聊天室中发言,大家互相讨论。其费用低廉,信息交流速度快,只有这样,才能在这个涌动的社会中加强联系,创造出更多的财富。作为网络信息交流最直接的手段之一,开发聊天室就显得极有意义。1.2 可行性研究(1)技术可行性:因为该系统要求实现动态交互式的页面设计及对数据库的查询、插入、删除等操作,而本系统采用ASP技术设计网页及使用ACCESS数据库来存储数据,所以技术上是可行的。(2)经济可行性:开发本系统为用户和管理员带来了极大的方便,而且所用的人力、物力、技术、资金等的花费不大,所以今后获得的经济效益一定会大于开发成本。(3)操作可行性:由于本系统安装了ACCESS,IIS所以只要打开IE浏览器,输入网址即可进入本系统,操作方便。1.3 技术路线(1)按照软件工程管理思想对软件的研究、可行性分析、需求分析、概念结构设计、逻辑结构设计、功能设计、详细设计、编码、实施、维护各阶段进行严格的控制。保证系统开发质量;(2)根据设计任务查阅聊天室系统工作的具体特点、任务组成等,查阅相关资料;(3)深入研究开发系统所需的相关理论和技术,通过需求分析确定本系统的总体设计方案;(4)采用WEB方式,运用ASP技术与SQL Server 数据库管理系统相结合实现系统;(5)采用SQL数据库访问技术和套接字实现系统软件的开发。2 开发工具的选用及介绍2.1 ASP技术与特点 2. 1. 1 ASP技术 几年前,微软的部分网页文件后缀已由htm变成了asp。这一变化虽小,但是意味深长。它包含蕴涵着相当深刻的技术变革,标志着微软对它的新技术充满信心,也标志着微软在动态Web技术方面,又向前迈出了一大步,因为它首次采用了ASP(Active Server Pages动态服务器主页)机制。什么是ASP?在微软站点上对于ASP的权威定义是:Active Server Pages是一种开放式的非编译应用环境,使你能够组合HTML,scripts和可重用的ActiveX服务器组件来建立动态的,强大的基于Web的商业应用。Active Server Pages支持基于US上的服务器端脚本并且完全支持VB Script和Jscript。它是微软公司的新一代开发动态网页的技术,具有开发简单、功能强大等优点,可以非常直观简易地实现复杂的Web应用。Microsoft的ASP不是一种语言,而是一套微软开发的服务器端脚本环境,ASP解释程序内含于IIS3.0,4.0和PWS4.0中,通过ASP可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的WEB服务器应用程序。在ASP环境中,因为所有的程序,其中也包括所有嵌在普通HTML中的脚本程序,都在服务器端执行,所以不必关心客户端的浏览器是否能运行所编写的代码。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,提高了交互的速度。所谓脚本是由一系列的脚本命令所组成文件。脚本语言是一种介于HTML和诸如JAVA,Visual Basic,C+等编程语言之间的一种特殊的语言,但它不具有编程语言复杂、严谨的语法和规则(但是根据微软的建议,最好在程序中设置使用严谨语法的声明)。与一般程序一样,脚本也可以将一个值赋给一个变量,命令WEB服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。所以,要编写脚本,只要熟悉至少一门脚本语言即可,如VBScript。通过ASP这种环境,用户可以创建和运行交互式的动态网页,包括使用HTML表单收集和处理信息,上传与下载等等,就像访问者在使用自己的CGI程序一样。但是它比CGI简单。更重要的是,由于ASP使用的ActiveX技术基于开放设计环境,开发人员用户可以自己定义和制作组件加入其中,使动态网页几乎具有无限的扩充能力,这是传统的CGI等程序所远远不及的地方。此外,使用ASP还有一个优点,就在于ASP可利用ADO方便地访问数据库,从而可以利用ASP开发基于WWW的应用系统。 2. 1. 2 ASP的特点服务器端的编程一般来说比较难。例如采用CGI来编程时得学习一些相对比较难的编程语言如C/C+语言或者Perl语言,而在使用的时候,它们的效率也不高。每次某个访问者激活一个CGI脚本的时候,在服务器一端都要启动一个新的进程,如果CGI使用的是象Perl一样的解释性语言,服务器将另起一个解释器,这些都要消耗处理时间和存储器。为此,人们在最近几年陆续开发了一系列新技术来改变这种状况。ASP是最有代表性的一种。ASP所独具的一些特点: (1)使用VBScript,JScript等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。 (2)无须编译,容易编写,可在服务器端直接执行。 (3)使用普通的文本编辑器,如Windows的记事本,即可进行编辑设计。也可以选用具有可视化编辑能力的FrontPage开发环境。 (4)与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言(VBScript, Jscript)均在WEB服务器端执行,用户端的浏览器不需要能够执行这些脚本语言。 (5)ASP与任何ActiveX scripting语言兼容。除了可使用VBScript或JScript语言来设计外,还通过plug-in的方式,使用由第三方所提供的其他脚本语言,譬如REXX, Perl, TCL等。 (6)ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人窃取,也提高了程序的安全性。 (7)可使用服务器端的脚本来产生客户端的脚本。 (8)ActiveX Server Components(ActiveX服务器元件)具有无限可扩充性。可以使用Visual Basic,Java,VisualC+,COBOL等编程语言来编写你所需要的ActiveX Server Component。从应用上看,ASP有如下的功能: (1)处理由浏览器传送到站点服务器的表单输入。 (2)访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。 (3)读写站点服务器的文件,实现访问计数器。 (4)提供广告轮播器、取得浏览器信息URL表管理等内置功能。(5)由Cookies读写用户端的硬盘文件,以记录用户的数据。(6)可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序10。 2. 1. 3 ASP与传统技术的比较 单从表现上看,ASP与用户浏览器紧密结合,与HTML语言融为一体,在做一个WEB网页时,可以用普通的文件编辑器,将经ASP认可的脚本语言嵌入其中。这样就使得HTML创作与程序开发无缝连接,环境统一。如果采用FrontPage 2000和Visual IntraDev1.0就可以同时得到一个所见即所得HTML环境和带语法分析器的程序开发环境。编程环境比较理想。 (1)、从功能上看,如果不考虑非Windows平台,那么ASP是迄今为止功能最强的脚本语言,从它的执行方式,执行效率,可扩充性上看,还没有一种WEB语言能比上它。ASP支持多种脚本语言,其中VBScript是其默认的脚本语言,当然功能也最强大。正如前面所述,ASP完全建立在ActiveX基础之上,而ActiveX不仅仅是一种技术标准,允许软件同存在于网络环境中的另一个软件进行交互,它同时也是微软的一个战略方针,不遗余力地进行人力推广,现在几种流行的程序开发语言Visual C+、Delphi都支持ActiveX控件的开发。因此,ActiveX控件覆盖范围极其广泛,为程序开发提供了有力支持。甚至可以设想,在未来几年内,程序员就可以从多种定制好的ActiveX进行筛选,然后向搭积木一样进行程序开发。这种高度的可扩充性,也是其他传统技术所无法比拟的。 (2)、从技术上看,由于CGI是进程机制,在访问量增大时,挤占系统资源。ISAPI针对这一缺点进行改进,利用DLL技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤同样繁琐。这两种技术和另一种普遍使用的开发动态网页技术Java都还存在着另外一个问题,那就是开发都很困难。程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如JavaScript利IDC(Intemet Database Connector)等功能有限,在讲求开发速度和效率的今天,它们目前还不可能被真正的程序开发人员所使用。2.2 Dreamweaver 2. 2. 1 Dreamweaver简介Dreamweaver是美国Macromedia公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页。 2. 2. 2 Dreamweaver的特点(1)最佳的制作效率Dreamweaver可以用最快速的方式将Fireworks,FreeHand或Photoshop等文档移到网页上。使用检色吸管工具选择荧屏上的颜色,可设定最接近的网页安全色。对于选择菜单、快捷键以及格式控制,都只需一个简单步骤便可完成。Dreamweaver能与你喜爱的设计工具,如Playback,Flash,Shockwave及其他外挂模组等搭配,用户不需离开Dreamweaver便可完成他们需要完成的工作。此外,只要单击便可使Dreamweaver自动开启Fireworks或Photoshop,从而实现编辑与设定图档的最佳化。(2)网站管理使用网站地图可以快速制作网站雏形,设计、更新和重组网页。改变网页位置或文档名称,Dreamweaver会自动更新所有链接。使用资源文字、HTML代码、HTML属性标签和一般语法的搜寻及置换功能,可使复杂的网站更新变得迅速又简单。(3)无可比拟的控制能力Dreamweaver是惟一提供Roundtrip HTML、可视化编辑与原始代码编辑同步的设计工具。他包含HomeSite和BBEdit等主流文字编辑器。帧(Frames)和表格的制作速度快得令你无法想象。进阶表格编辑功能可使你简单地选择单元格、行、栏或作不连续的选取。用户甚至可以排序或格式化表格群组。Dreamweaver支持精确定位,利用他可轻易地将表格转换成表格的图层以拖拉置放的方式进行版面设计。(4)所供即所得Dreamweaver成功整合动态式出版视觉编辑及电子商务功能,提供超强的支援能力给hire-party厂商,包含ASP,Apache,BroadVision,Cold Fusion,iCAT,Tango与自行发展的应用软件。当你正使用Dreamweaver设计动态网页时,所供即所得的功能让你不需要透过浏览器就能预览网页。(5)梦幻样版和XMLDreamweaver将内容与设计分开,应用快速网页更新和团队合作网页编辑。建立网页外观的模板,指定可编辑或不可编辑的部分,内容提供者可直接编辑以样式为主的内容,却不会因不小心而改变既定的样式。用户也可以使用模板正确地导入或导出XML内容。(6)全方位的呈现利用Dreamweaver设计的网页,可以全方位地呈现在任何平台的浏览器上。对于Cascading Style Sheets的动态HTML支持和鼠标换图效果,声音和动画的DHTML效果资料库可在Netscape和Microsoft浏览器上执行。用户可以使用不同浏览器检查展示,随之Dreamweaver就列出你在不同浏览器上执行的成效如何。当有新的浏览器上市时,只需从Dreamweaver的网站下载他的描述文档,便可得知详尽的成效报告。3 聊天室的设计3.1 基于ASP的程序设计方法 3. 1. 1 ASP的内置对象在面向对象的编程中,对象是指包含了数据(属性)、操作(方法)、集合等的完整实体。其中对象方法决定了我们可以用这个对象作什么事情。对象的属性可以读取出来了解对象状态或者设置对象状态。 ASP共有6个可直接使用的内建对象,现在做个简单介绍。 (1) Request对象:可以使用Request对象访问任何基于HTTP请求传递所有信息,包括从HTML表格用POST方法或GET方法传递的参数、cookie和用户认证。 (2) Response对象:Response对象是用来控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到到另一个URL或设置cookie的值。 (3) Server对象:Server对象在ASP中是一个很重要的对象,许多高级功能都是靠它来完成的。Server对象的最重要的方法是CreateObject方法,该方法用于创建己注册到服务器上的除ASP内置对象外的其它ActiveX组件。这是一个非常重要的特性,因为正是使用ActiveX组件,你可以实现一些光靠脚本无法实现的功能,如数据库访问,文件访问等。 (4) Application对象:可以使用Application对象,在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久地保存数据。 (5) Session对象:可以使用Session对象存储特定的用户会话所需的信息。 (6) ObjectContext对象:提供在页面内进行事务处理的能力。在Web数据库应用系统中request对象常用于添加数据与传递参数功能中,而response对象用于输出数据库检索结果,server对象用于创建数据库组件,Session与Application对象用于存贮页之间或应用程序间传递的数据和参数。 3. 1. 2 ASP的语法规则概述如前所述,Active Server Pages (ASP)文件是以.asp为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合,但对具体位置由一定的要求:1.文本;2. HTML标记;3. ASP脚本命令。 如果要在HTML文件中添加脚本,只需将该文件的扩展名.htm或.html替换为.asp就可以了。要使.asp文件可以运行来响应访问者。必须将这个文件保存在Web站点上的具有脚本执行权限目录中。当访问者使用浏览器察看该文件时,就可以看到经ASP处理并返回的HTML页。值得注意的事,因为.asp文件需要额外的处理,如果该文件不含ASP语句,就不用将所有的HTML页都转换为ASP页。应该只将包含脚本命令的文件命名为.asp文件,以提高效率。脚本命令通过定界符与文本区别开来。ASP使用定界符括入脚本命令。只要命令对正在使用的脚本语言有效,就可以在定界符中括入任何命令。定界符括入的命令被称为主脚本命令。这些命令被主脚本语言处理。在ASP定界符中可以包含任何在主脚本语言中合法的语句、表达式、过程或操作符。3.2 聊天室运行环境ASP要浏览必须经过服务器解析才能够浏览得到。如果是将asp文件上传到支持asp的服务器,那就能够直接浏览。但是如果是在本机上,那就必须将电脑设置成为服务器。单机并不需要设置成为局域网,只需要设置成为单机服务器就可以。ASP运行所需的环境如下: Microsoft Personal Web Server on win7也就是说平常所使用的windows系统都可以运行asp,只需要将其设置为单机服务器就行了。归结一点: win7,需要安装IIS。才能发挥其asp的作用。本聊天室的设计与开发就是使用win7+IIS。win7+IIS的安装设置方法: (1)找一张win7的系统安装盘; (2)在“开始”“控制面板”“程序和功能”“打开和关闭Windows功能”,随后在“Windows功能”列表对话框中选中“Internet 信息服务”,点击Windows功能对话框上“确定”按钮,Windows将会自动开始安装和配置IIS。 (3)安装好了IIS并不等于马上可以使用,还要给IIS配置上IP地址才可以使用:第一、在“开始”“控制面板”“管理工具”“Internet服务管理器”; 第二、打开之后,可以看到在计算机标识符下有默认的FTP站点、默认的Web站点和一个默认的SMTP虚拟服务器。 第三、选中“默认的Web站点”,按鼠标右键,从弹出选单中选择“属性”,进入属性对话框并选择“Web站点”选项,然后点击“IP地址”下拉框,选择本机上的IP地址作为Web站点的IP地址。这样,就可以通过在IE浏览器中键入“http:/LocalHost/”或IP来访问本机上的Web站点了。(4)到现在为止,已经可以访问“http:/LocalHost/”或IP地址的Web站点了。启动IE并在地址栏中键入“http:/LocalHost/”。或是直接在“Internet服务管理器”的右边,选中想要浏览的网页,按右键选择“浏览”也是可以打开所要打开的网页。 如果并不想将文件放在LocalHost文件夹里面,或是习惯在其他的硬盘里面新建一个文件来存放网页,那么可以选中“默认的Web站点”,按鼠标右键,从弹出选单中选择“新建”,选择“站点”,再一步一步做下去就可以了。但是此虚拟站点还未启动,还是不可以使用,将原来启动的那个站点,按鼠标右键,从弹出选单中选择“停止”,然后选中刚才新建的站点,同样的选择“启动”就可以通过在IE浏览器中键入“http:/LocalHost/”来访问本机上刚才新建的新的站点了。 注意,同一个IP是不可以同时被两个站点使用的,所以如果要使用时必须注意,将不想使用的站点停止了,才可以启用新的站点。3.3 聊天室功能 3. 3. 1 聊天室功能说明聊天室系统的实现共由6个模块组成,通过nickname.htm登录界面进入聊天室后,用户进入聊天室,用户可以从聊天用户窗口看到该聊天室中所有用户id;在聊天窗口中看到随时更新的聊天信息;用户可以给所有人或某一个聊天用户发送公共的聊天信息,可以给自己的聊天信息定义不用的颜色,还可以加上丰富的表情语言,这个聊天内容大家都会看到;用户还可以给某个用户发送私人的聊天信息,这种信息属于私聊信息,只有发送者和接收者自己可以看到;此外聊天窗口中还有一些系统公告,比如某某登陆聊天室、某某离开的消息。若用户想退出,按退出键便可离开聊天室 。 3. 3. 2 聊天室功能模块说明(1)登陆模块登陆页(nickname.asp):主要用于记录登陆者聊天者的昵称、登陆时间、IP地址等信息。(2)谈话模块(chat.asp):主要用于发送谈话内容,选择私聊对象,清空谈话内容,选择动作,显示帮助文件,退出等多项功能。(3)显示模块:分为对所有人和私聊两部分。对所有人的为(text.asp),私聊为(scr.asp)。实现了对话内容,动作等的显示。(4)人员列表(allname.asp):显示所有聊天人员名称,可以提供自动和手工刷新人员列表的功能。(5)功能模块:主要用于管理聊天室,包括屏蔽,分屏,刷新等功能按钮。(6)站名和聊天室名显示模块:显示站名和聊天室名。3.4 聊天室的框架设计 3. 4. 1 系统结构设计当用户向服务器聊天室所在页面提出浏览请求时,将得到一个(一组)ASP返回页,也即是已经进入聊天室。如图3-1所示:Web服务器用户工作站用户工作站服务器向用户端响应返回ASP页面浏览器向服务器提出请求服务器向用户端响应返回ASP页面浏览器向服务器提出请求。图3-1 系统结构图 3. 4. 2 系统流程设计聊天室系统的总体流程由用户登录开始,通过验证后,用户便可以进入聊天页面进行交流聊天,同时,系统会将新登录用户的用户名添加进在线用户列表,即时更新,总体流程图如图3-2所示:开 始 进入聊天室登录界面Nickname.asp 离开聊天室 进入聊天室主界面Default.htm 输入并发送信息Scr.asptext. aspChat. asp 显示私聊 显示对所有人信息图3-2 系统流程结构图根据系统流程结构,对系统流程做进一步的详细设计,如图3-3所示。进入登录界面时会有普通用户和管理员两个选择。普通用户可以进行用户注册,用户登录,密码忘记时找回密码等功能;进入聊天室后可以创建聊天室也可以选择一个已经创建好的房间进入。管理员则直接登录后对房间和用户进行管理。图3-3 系统流程设计图 3. 4. 3 系统功能模块设计 根据聊天室的主要功能分析,本系统一共分为七大功能模块;用户注册模块,用户登录模块,用户找回密码模块,用户发言模块,聊天内容显示模块,在线用户列表显示模块和管理功能模块,如图3-4所示。图 3-4 系统功能模块图(1)聊天室系统前台功能模块设计根据聊天室的主根据聊天室的主要功能分析,本系统前台一共分为六大功能模块:用户浏览模块、用户注册模块、找回密码模块、用户登录模块、在线用户管理模块、用户聊天模块。如图3-5所示:图 3-5 聊天室前台功能图(2) 聊天室系统后台功能模块设计本系统后台则一共分为三大模块:管理员登陆模块、聊天室房间管理模块和聊天室用户管理模块。如图3-6所示:图3-6 聊天室后台功能图4 数据库设计4.1 数据库 4. 1. 1 数据库简介数据库技术涉及到许多基本概念,主要包括:信息,数据,数据处理,数据库,数据库管理系统以及数据库系统等。数据库技术的产生,主要目的是有效地管理和存取大量的数据资源,数据库技术主要研究如何存储,使用和管理数据。采用何种数据库,不仅可以有效地应用于事务处理,使得人们的生活、工作更加的方便快捷。当今流行的大部分数据库,像Access, SQL Server, Oracle等,皆可与ASP兼容,教学网站的后台设计,采用何种数据库成为了大多数网站设计者所要思考的一个问题9。 4. 1. 2 数据库的选择目前ASP WEB常用的数据库有ACCESS和SQL,一般的虚拟主机用户或者是小站点用户都使用ACCESS作为自己的站点数据库。大型的站点一般都用SQL(MSSQL)。随着网络技术的快速发展,Web已成为人们进行信息交流的重要工具,Web站点也日益流行起来,在Web上访问数据库更是作为一项重要的数据库技术不断得到发展。ASP是服务器端的脚本编写环境,使用它可以创建和运行动态、交互的Web服务器应用程序。开发人员可以使VBScript、JavaScript、REXX、Perl等脚本语言作为开发工具,编写适应自己特殊需要的脚本,并利用这些脚本调用ActiveX服务器组件来实现和扩充复杂的功能。同时,由于这一系列事件均是在服务器端完成,所以利用ASP技术还有效地保证了系统的安全性和开发人员的知识产权。ASP内置了许多功能强大的ActiveX Server组件,对数据库而言,其组件使用ADO(Active Data Objects)技术来存取符合ODBC(Open Database Connectivity)标准的数据库。首先要建立一个符合实际需要的数据库,包括建立各个表格、索引和存储过程等。而本课题聊天室适合采用规模中等的数据库,因此选择SQL Server 2008数据库,与同级别的数据库相比,执行效率较高,调试程序方便。94.2 数据库概念模型根据系统功能和流程所需数据要求,可以确定数据库中数据项和数据结构,其E-R图如4-1所示:图4-1 数据库E-R图E-R图是最常用的概念模型表示方法,也是数据库的核心和基础,它是按用户的观点来对数据和信息建模的。4.3 数据库各表的设计对于聊天室系统,所需的数据库表有AdminInfo、RoomInfo、UserInfo和UserOnline四张表。AdminInfo表用于存放管理员的基本信息,如图4-2所示:图4-2 AdminInfo表RoomInfo表用于存放聊天室房间的基本信息,如图4-3所示:图4-3 RoomInfo表UserInfo表用于存放用户的基本信息,如图4-4所示:图4-4 UserInfo表UserOnline表用于存放在线用户的基本信息,如图4-5所示:图4-5 UserOnline表4.4 数据库连接的实现数据库连接操作是一个相当频繁的操作,在ASP的数据库编程中,connection对象是连接数据库不可能离开的一个对象,该对象时AD0对象模块中的一个专门打开和关闭数据库连接的对象,在对数据库进行任何的操作,比如更新记录,插入,删除,检索等,都必须以connection对象的建立为前提。形象地来说,connection对象就是程序与数据库沟通的管道,所有对数据库的操作,都能在它的基础上建立Recordset对象实例来操作数据库。这里首先利用connection对象的属性ConnStr设置数据库的连接方式,使用的是Access OLE DB驱动。使用server.createobject方法建立connection对象的实例变量coon,使用connection对象的Open方法打开数据库连接,核心代码如下:其中还使用了server对象的Server.MapPath(Path)方法,作用是将(path)指定的虚拟路径转换为实际路径,大大提高了本系统的移植性。5 聊天室的实现5.1 聊天室的功能概述通过登录界面进入聊天室后,用户进入聊天室,用户可以从聊天用户窗口看到该聊天室中所有用户id;在聊天窗口中看到随时更新的聊天信息;用户可以给所有人或某一个聊天用户发送公共的聊天信息,可以给自己的聊天信息定义不用的颜色,还可以加上丰富的表情语言,这个聊天内容大家都会看到;用户还可以给某个用户发送私人的聊天信息,这种信息属于私聊信息,只有发送者和接收者自己可以看到;此外聊天窗口中还有一些系统公告,比如某某登陆聊天室、某某离开的消息。若用户想退出,按退出键便可离开聊天室 。根据以上的功能, 无论使用何种手段实现聊天室程序,都应能解决如下一些技术要点: (1)如何组织、存储所有聊天者所说的话(即聊天信息),以期达到最基本的能在多个用户(即多个聊天者)之间实现信息共享。聊天室程序的速度瓶颈(如果有的话)就在这里。当然还有一类数据如聊天者的个人资料,以及其在本聊天室中目前的权限级别等等,此类数据因无须共享,对聊天的速度并没有本质上的影响,所以系统降低了对它们进行组织存储的要求,可以使用磁盘文件,也可以借助于Web后台数据库(如MSSQLServer)等进行存储。(2)如何实现登陆功能。(3)如何实现人员列表。(4)如何实现公共聊天和私聊。(5)如何解决聊天刷新。(6)如何实现聊天室踢人功能。(7)如何实现封锁IP功能。(8)如何实现表情。(9)如何实现屏蔽功能。5.2 聊天室的主要功能实现 5. 2. 1 信息的组织、存储、共享的实现 在实际应用中,聊天室程序并不需要存储所有聊天者所说的所有话,而仅需存储正在室内的聊天者们最近所说的若干句话(视系统特点、程序制作者风格等而定,一般在20- 60句话不等,当然能让聊天者自己在一定的范围内进行选择设定为最好),这些信息也无须作长期永久性的存储。因此,我们可舍弃磁盘文件及后台数据库的方法,直接使用内存进行操作,这样可大大提高信息的读写速度,从而能较好地解决聊天室的速度瓶颈问题。 同时,这些信息经过组织存储后,在聊天者的浏览器端显示时要求具有顺序性,为了便于显示、加快显示速度,对这些信息要求具有操作的连续性。不管在何种语言中,数组是能同时满足这两项要求的数据结构之一。 在聊天室程序中,完成了信息的组织存储,仍有另一关键技术待解决:如何能在多个程序或一个程序的多个运行实例之间进行信息共享。这一技术在不同的编程语言中有不同的解决思路,如共享内存,数据文件;或者使用服务器/客户模式程序实现在多个程序间完成数据交换。 由于Application对象的设置值为应用的所有用户共享,我们可以用它来保存聊天室的发言。为了便于处理,引入一个数组来存放发言,在global. asa文件的Application- On-Start事件代码中定义数组并将其赋给一个Application对象,数组的大小定为12,是为了限定显示行数为12行,保证用户阅读信息的方便,不用拉动垂直滚动条。利用模12运算按循环队列机制来填写数组,并将最新录入的发言显示在最底部。代码如下所示:global. asaSUB Application.OnStart Dim m chats (12) application(”gchats)=m chats application(gcounte r)=0end sub为了防止两个用户为写入发言同时对Application对象变量修改,从而导致一个用户的所作的修改被另一个用户的操作所覆盖,必须解决多用户并发写入问题,Application对象的Locked属性可以用来只允许当前用户编辑Application对象的值,操作结束必须用UnLocked来释放其对Application对象的独占。如果在加锁时有其他用户请求编辑Application对象,则这些用户要排队等待,直到Application对象被解锁。为了处理方便,在该程序中创建了Application对象变量的本地引用,这样做是为了简化代码,使用简短的本地变量而不是繁琐的名字, 如: Application( gchats)。 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电针治疗仪器考试题及答案
- 高中生物校本课程教案
- 2025年成都百万职工技能大赛(快递员)备赛试题库(含答案)
- 2020-2025年助理医师之中医助理医师自我检测试卷A卷附答案
- 2025年中药学类之中药学(师)能力测试试卷B卷附答案
- 太康安全生产协议书
- 物联网合作协议书
- 多功能一体机集成解决方案创新创业项目商业计划书
- 排球数据分析与球队管理咨询创新创业项目商业计划书
- 复合材料3D打印技术创新创业项目商业计划书
- 基本公卫服务培训课件
- 十八项医疗质量安全核心制度
- 输变电工程建设现行主要质量管理制度、施工与验收质量标准目录-2026年2月版-
- 露酒酿造工作业指导书
- 电网公司保密管理办法
- 融媒体运营基础知识培训课件
- 2025至2030钻井液用膨润土行业产业运行态势及投资规划深度研究报告
- 2025年入团考试题库及答案
- 2025-2030中国商用制冷设备市场行情监测及销售前景预测报告
- 2025年北京事业单位招聘考试(水务基本常识)历年参考题库含答案详解(5套)
- 联合体协议书
评论
0/150
提交评论