1、计算机科学与技术系毕业设计(论文)摘要在当今WWW风行的社会里,上网成为越来越多人们的选择。随着互连网的飞速发展,有关的网络技术也层出不穷。现今活跃在WEB站点中的ASPACTIVESERVERPAGE就是近年才发展起来的一项新型技术。ASP功能强大、本领高强,利用ASP功能时几乎没有什么限制,ASP是服务器端的脚本环境,可以开发动态的、交互的、高效的WEB站点。使用ASP建立的网站可拥有动态页面。本文主要介绍了ASP技术相关的基础知识,通过对ASP的脚本语言、ASP的内置对象、ASP与数据库的连接等技术的分析,探讨了建立聊天室的设计思想、方法及设计过程,详细地分析了各个模块的功能及实现方法。
2、利用ASP技术开发聊天室,解决了如聊天刷新、框架网页与变量的传递、聊天界面、屏蔽等问题,并结合源程序进行了论述,本文所实现的聊天室具有良好的人机交互界面,经过调试链接,证明可应用网站。关键词聊天室;WEB;VBSCRIPT;JAVASCRIPT计算机科学与技术系毕业设计(论文)ABSTRACTGOUPTHESELECTIONTHATTHENETBECOMESMOREANDMOREPEOPLEINBEINGLIVINGATPRESENTTHECOMMUNITYTHATWWWISPOPULARINTHEWAKEOFEACHOTHERSPEEDILYDEVELOPINGOFNETWORKING,TH
3、ERELEVANTELECTRICNETWORKTECHNIQUEALSOEMERGESINANENDLESSSTREAMITEMNEWTECHNIQUEWHICHDEVELOPEDINNOWADAYSASPINACTIVEWEBSITEBEINGLIVINGACTIVESERVERPAGEEVENTHOUGHTHEPASTFEWYEARSTHEASPMERITORIOUSSERVICECAPACITYISPOWERFULANDTHECAPABILITYISEXCELLINGIN,ANDWHATLIMITISNOTNEARLYTHEREISWHENUTILIZINGTHEASPMERITORI
4、OUSSERVICECAPACITYASPISTHESERVERSUREENOUGHSCENARIOENVIRONMENT,ANDMAYOPENUPTHEDEVELOPMENTSANDMUTUALLYANDWEBSWEBSITEHIGHEFFICIENCYEMPLOYTHEWEBSITETHATASPESTABLISHHAVETHEDYNAMICPAGINGTHEMAININTRODUCTIONOFTHEORIGINALASPTECHNIQUETHEPERSONWHOISMUTUALLYRELATEDRUDIMENTARYKNOWLEDGE,BYMEANSOFTHEANALYSISTOSCRI
5、PTINGLANGUAGE,INTEGRALTARGET,ASPTOGETHERWITHTHEDATABANKJOINTOFASPOFASPANDSOONTECHNIQUE,PROBINGINTOTOESTABLISHTOCHATROOMDESIGNIDEA,MEANSANDDESIGNPROCESS,THEMERITORIOUSSERVICEDETAILEDTOANALYZEEVERYMODULEBEABLETOREACHTHEREALIZATIONMEANSTHEPROBLEMSUCHASUTILIZINGASPTECHNOLOGICALDEVELOPMENTTOCHATINTHEROOM
6、,ANDRESOLVINGREFURBISHINGANDFRAMEWEBPAGETOGETHERWITHVARIABLETRANSMISSIONANDCHATTINGINTERFACEANDSHIELDINGANDSOONASCHATTING,ANDUNITINGTHESOURCEPROGRAMTOEXPOUND,THECHATTINGROOMTHATTHEORIGINALWASACHIEVEDHASTHEWELLUSERINTERACTIONINTERFACE,ANDTHELINKISDEBUGGEDTOTHECOURSE,YETDEMONSTRATESTHEAPPLICATIONWEBSI
7、TEKEYWORDSCHATROOMWEBVBSCRIPTJAVASCRIPT计算机科学与技术系毕业设计(论文)I目录摘要1ABSTRACT1目录错误未定义书签。概述11ASP技术及其特点311ASP技术312ASP的特点413ASP与传统技术的比较52基于ASP的程序设计方法621ASP的内置对象622ASP的语法规则概述63聊天室软件需求分析831可行性研究832聊天室运行环境833聊天室功能说明934系统功能模块说明1035体系结构图1036系统总流程图1137系统功能模块图124软件实现1241信息的组织、存储、共享的实现1342登陆功能的实现1443人员列表的实现1544公共聊天和私
8、聊功能的实现思路1545聊天刷新问题的解决1746发言显示更新处理1847聊天室中实现踢人功能1848聊天室中实现封锁IP地址功能1849屏蔽别人的讲话功能的实现18计算机科学与技术系毕业设计(论文)II410表情功能的实现195系统调试与维护2051系统调试2052系统维护226总结23参考文献25致谢26计算机科学与技术系毕业设计(论文)1概述互联网技术的广泛应用,对整个世界政治、经济、文化等各方面产生了十分广泛和深远的影响。它奇迹般地崛起、爆炸般地扩容,令全世界瞩目。互联网技术之所以能在如此短的时间内获得社会各方面的认可,并在全球范围内推广应用是应为互联网拥有庞大的信息资源、给人类提供全
9、新的交往方式、存在着巨大的商机、虚拟现实技术的广泛应用等等,是促进互联网发展的重要因素。INTERNET是全球最大的计算机网络,它起源于1968年美国国防部高级研究计划局ARPAADVANCEDRESEARCHPROJECTAGENCY主持研制用于支持军事研究的计算机实验网ARPANET。现代计算机技术的许多概念和方法便来自ARPANETO70年代中期,ARPA为实现异种网之间的互联INTERCONNECTION和互通INTERCOMMUNICATION,大力资助网间网技术的研究开发,在1977年到1979年间提出目前形势的TCP/IP体系结构和协议规范。随后,ARPA不断鼓励在ARPANET
10、上进行分组交换技术的研究开发,导致了TCP/IP的出现与发展。到今天,TCP/IP协议族己成为INTERNET的核心,它可以运行于几乎所有的物理网络之上。利用TCP/IP可以方便地实现多个网络的无缝连接。如今,大大小小的网络已遍布全球,并通过INTERNET实现了互联。据估计,INTERNET的规模大约每年要翻一番,网络的应用领域也从做出的科技和教育领域,很快进入到文化、产业、政治、经济、新闻、体育、娱乐、商业以及服务行业。互联网的发展已经成了人们关注的焦点,今后互联网如何发展,业内人士认为,互联网发展与应用将呈现四大趋势。1网络更加智能。2信息资源成为公共设施。3带宽风暴。4随时随地接入网络
11、。INTERNET影响着世界,同时也在影响中国。自1985年,中国互联网“先行者”钱天白教授发出了国内的第一封EMAIL,经过多年努力,中国互联网驶上了快车道。今天,中国INTERNET的发展已经走过了它的幼年期,中国的信息时代终于到来了。中国互联网络的建设凝结了无数知识精英的汗水。在某种程度上,借助于互联网,中国有可能实现跳跃式的发展,赶上发达国家,或缩短与发达国家之间的距离,从而在增加综合国力的同时,使我们的文化真正强大起来。另一方面,由于互联网发展的超常速度和异常波动,由于世界网络传播的不平衡状态,也由于网络技术内含的科学主义和工具主义倾向,也给我国主流文化带来了种种挑战和困惑。因此,在
12、关注互联网的发展历程、发展趋向的同时,如何充分利用它对我国主流文化的影响,就成了一个具有现实性和紧迫性的问题。面对全球互联网迅猛发展的势头,我们应积极应对,提高认识,加强研究。随着信息流量的日益加大,计算机网络技术得到飞速发展,各类网站不断涌现出来。而最受青0睐的应属具有动态效果的网站,其页面的内容使用的不仅仅是标准的HTML代码。而是加入了各种“交互性”。有人给动态网站、动态页面的概念制定了以下几条规则计算机科学与技术系毕业设计(论文)21、“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面,这将是今后WEB发展的大事所趋。2、“自动更新”即无须手动地更新HTML
13、文档,便会自动生成新的页面,可以大大节省工作量。3、“因时因人而变”,即当不同的时间、不同的人访问同一网址时会产生不同的页面。而将网站“动态”化的方法很多,这要看你是出于何种需求。如果你是个人网站的维护者,使用的是免费主页空间,那么绝大多数情况下你只能使用JAVA、JAVASCRIPT和最新的DHTML技术,如果你的主页空间提供者能给予你CGI权限或ASP支持,那么你将能非常幸运地发挥真正的动态技术。目前,常用的“动态”网站设计方法有1、CGI(COMMONGATEWAYINTERFACE)通用网关接口的传统方式,当用户在浏览器端填好表单(FORM)要求输入的资料,提出HTTP请求后,WEB服
14、务器端将执行一个表单所设定的可执行的CGI应用程序,CGI程序分析表单(FORM)中所输入的资料,存取WEB数据库,将查询执行的结果以HTML的格式返回给浏览器。使用CGI方式存取WEB数据库,有很多的缺点,譬如不易开发、变更修改成本高、功能有限、不易侦错、执行速度慢等,而且由于并非整合于HTML文档之中,因此必须使用与HTML完全不同的设计过程来设计一个可执行的应用程序。2、IDC(INTERNETDATABASECONNECTOR)互联网数据库连接头是WINDOWSNTSERVER内含INTERNETINFORMATIONSERVER(简称IIS)20的特征之一,它提供了一种使你的互联网数
15、据库内容得以发布并可与用户交互的方法,它实际上是一个包含于IIS中的ISAPI应用程序。你只需掌握HTML和SQL的基本知识并写为数不多的代码就能编出具有交互能力的数据库应用程序,让使用者在浏览器界面中得以查询、输入、更新、和删除WEB服务器上的数据资料。正如VB程序员所喜欢的那样,构成IDC应用程序的文件是解释性的,由于设计简易,只要准备两个档案,即可在用户端的浏览器中存取WEB服务器的数据资料,且无须编译,因此具有快速的开发循环和反馈。但这种简单性的代价是牺牲了许多灵活性,使你不得不放弃许多对用户接口的控制,并几乎放弃了所有验证数据的能力。因而IDC仅适用于简单的WEB应用程序。3、ACT
16、IVEXDATAOBJECT(ADO)是WEB数据库应用的最佳选择。ACTIVEXDATAOBJECT(简称ADO)究竟是什么呢ACTIVEXDATAOBJECT的技术,让您可以与ACTIVESERVERPAGES(简称ASP)结合以建立提供数据资讯的网页内容,只需在网页面中执行STRUCTUREDQUERYLANGUAGE(结构化查询语言,简称SQL)指令,让用户在浏览器界面中输入、更新、和删除WEB服务器上的数据资料。当用户端的浏览器填好表单所要求输入的资料并按下“SUBMIT”按钮后,经过互联网、内联网传送HTTP请求到WEB服务器,该请求在WEB服务器执行一个表单所指定的ACTIVES
17、ERVERPAGES程序(后缀名为ASP的文档)。一个ASP文档是一个纯文字档,包括HTML标记(TAGS)、VBSCRIPT或JSCRIPT语言的程序代码、ASP语法、和结构化查询语言SQL指令。IIS30/40WEB服务器执行ASP计算机科学与技术系毕业设计(论文)3文档,通过ODBC驱动程式,连接到支持ODBC的数据库上,执行ASP文档所指定的SQL指令,最后将执行的结果以HTML的格式传送给用户浏览器。ADO具有容易使用、开发执行快速、消耗系统资源较少和占用磁盘空间小等优点。本设计所制作的网络聊天室也采用了ASP技术。1ASP技术及其特点11ASP技术大约三年半前,微软的部分网页文件后
18、缀已由HTM变成了ASP。这一变化虽小,但是意味深长。它包含蕴涵着相当深刻的技术变革,标志着微软对它的新技术充满信心,也标志着微软在动态WEB技术方面,又向前迈出了一大步,因为它首次采用了ASPACTIVESERVERPAGES动态服务器主页机制。什么是ASP在微软站点上对于ASP的权威定义是“ACTIVESERVERPAGES是一种开放式的非编译应用环境,使你能够组合HTML,SCRIPTS和可重用的ACTIVEX服务器组件来建立动态的,强大的基于WEB的商业应用。ACTIVESERVERPAGES支持基于US上的服务器端脚本并且完全支持VBSCRIPT和JSCRIPT。”它是微软公司的新一
19、代开发动态网页的技术,具有开发简单、功能强大等优点,可以非常直观简易地实现复杂的WEB应用。MICROSOFT的ASP不是一种语言,而是一套微软开发的服务器端脚本环境,ASP解释程序内含于IIS30,40和PWS40中,通过ASP可以结合HTML网页、ASP指令和ACTIVEX元件建立动态、交互且高效的WEB服务器应用程序。在ASP环境中,因为所有的程序,其中也包括所有嵌在普通HTML中的脚本程序,都在服务器端执行,所以不必关心客户端的浏览器是否能运行所编写的代码。当程序执行完毕后,服务器仅将执行的结果返回给客户浏览器,这样也就减轻了客户端浏览器的负担,提高了交互的速度。所谓脚本是由一系列的脚
20、本命令所组成文件。脚本语言是一种介于HTML和诸如JAVA,VISUALBASIC,C等编程语言之间的一种特殊的语言,但它不具有编程语言复杂、严谨的语法和规则但是根据微软的建议,最好在程序中设置使用严谨语法的声明。与一般程序一样,脚本也可以将一个值赋给一个变量,命令WEB服务器发送一个值到客户浏览器,还可以将一系列命令定义成一个过程。所以,要编写脚本,只要熟悉至少一门脚本语言即可,如VBSCRIPT。通过ASP这种环境,用户可以创建和运行交互式的动态网页,包括使用HTML表单收集和处理信息,上传与下载等等,就像访问者在使用自己的CGI程序一样。但是它比CGI简单。更重要的是,由于ASP使用的A
21、CTIVEX技术基于开放设计环境,开发人员用户可以自己定义和制作组件加入其中,使动态网页几乎具有无限的扩充能力,这是传统的CGI等计算机科学与技术系毕业设计(论文)4程序所远远不及的地方。此外,使用ASP还有一个优点,就在于ASP可利用ADO方便地访问数据库,从而可以利用ASP开发基于WWW的应用系统。12ASP的特点服务器端的编程一般来说比较难。例如采用CGI来编程时得学习一些相对比较难的编程语言如C/C语言或者PERL语言,而在使用的时候,它们的效率也不高。每次某个访问者激活一个CGI脚本的时候,在服务器一端都要启动一个新的进程,如果CGI使用的是象PERL一样的解释性语言,服务器将另起一
22、个解释器,这些都要消耗处理时间和存储器。为此,人们在最近几年陆续开发了一系列新技术来改变这种状况。ASP是最有代表性的一种。下面是ASP所独具的一些特点1使用VBSCRIPT,JSCRIPT等简单易懂的脚本语言,结合HTML代码,即可快速地完成网站的应用程序。2无须编译,容易编写,可在服务器端直接执行。3使用普通的文本编辑器,如WINDOWS的记事本,即可进行编辑设计。也可以选用具有可视化编辑能力的FRONTPAGE开发环境。4与浏览器无关,用户端只要使用可执行HTML码的浏览器,即可浏览ASP所设计的网页内容。ASP所使用的脚本语言VBSCRIPT,JSCRIPT均在WEB服务器端执行,用户
23、端的浏览器不需要能够执行这些脚本语言。5ASP与任何ACTIVEXSCRIPTING语言兼容。除了可使用VBSCRIPT或JSCRIPT语言来设计外,还通过PLUGIN的方式,使用由第三方所提供的其他脚本语言,譬如REXX,PERL,TCL等。6ASP的源程序,不会被传到客户浏览器,因而可以避免所写的源程序被他人窃取,也提高了程序的安全性。7可使用服务器端的脚本来产生客户端的脚本。8ACTIVEXSERVERCOMPONENTSACTIVEX服务器元件具有无限可扩充性。可以使用VISUALBASIC,JAVA,VISUALC,COBOL等编程语言来编写你所需要的ACTIVEXSERVERCOM
24、PONENT。从应用上看,ASP有如下的功能1处理由浏览器传送到站点服务器的表单输入。2访问和编辑服务器端的数据库表。使用浏览器即可输入、更新和删除站点服务器的数据库中的数据。3读写站点服务器的文件,实现访问计数器。4提供广告轮播器、取得浏览器信息URL表管理等内置功能。5由COOKIES读写用户端的硬盘文件,以记录用户的数据。计算机科学与技术系毕业设计(论文)56可以实现在多个主页间共享信息,以开发复杂的商务站点应用程序。13ASP与传统技术的比较单从表现上看,ASP与用户浏览器紧密结合,与HTML语言融为一体,在做一个WEB网页时,可以用普通的文件编辑器,将经ASP认可的脚本语言嵌入其中。
25、这样就使得HTML创作与程序开发无缝连接,环境统一。如果采用FRONTPAGE2000和VISUALINTRADEV10就可以同时得到一个所见即所得HTML环境和带语法分析器的程序开发环境。编程环境比较理想。从功能上看,如果不考虑非WINDOWS平台,那么ASP是迄今为止功能最强的脚本语言,从它的执行方式,执行效率,可扩充性上看,还没有一种WEB语言能比上它。ASP支持多种脚本语言,其中VBSCRIPT是其默认的脚本语言,当然功能也最强大。正如前面所述,ASP完全建立在ACTIVEX基础之上,而ACTIVEX不仅仅是一种技术标准,允许软件同存在于网络环境中的另一个软件进行交互,它同时也是微软的
26、一个战略方针,不遗余力地进行人力推广,现在几种流行的程序开发语言VISUALC、DELPHI都支持ACTIVEX控件的开发。因此,ACTIVEX控件覆盖范围极其广泛,为程序开发提供了有力支持。甚至可以设想,在未来几年内,程序员就可以从多种定制好的ACTIVEX进行筛选,然后向搭积木一样进行程序开发。这种高度的可扩充性,也是其他传统技术所无法比拟的。从技术上看,由于CGI是进程机制,在访问量增大时,挤占系统资源。ISAPI针对这一缺点进行改进,利用DLL技术,以线程代替进程,提高了性能和速度,但要考虑线程的同步问题,而且开发步骤同样繁琐。这两种技术和另一种普遍使用的开发动态网页技术JAVA都还存
27、在着另外一个问题,那就是开发都很困难。程序的开发和HTML写作是两个完全不同的过程,需要专门的程序员开发。而较简单的开发技术如JAVASCRIPT利IDCINTEMETDATABASECONNECTOR等功能有限,在讲求开发速度和效率的今天,它们目前还不可能被真正的程序开发人员所使用。计算机科学与技术系毕业设计(论文)62基于ASP的程序设计方法21ASP的内置对象在面向对象的编程中,对象是指包含了数据属性、操作方法、集合等的完整实体。其中对象方法决定了我们可以用这个对象作什么事情。对象的属性可以读取出来了解对象状态或者设置对象状态。ASP共有6个可直接使用的内建对象,现在做个简单介绍。1RE
28、QUEST对象可以使用REQUEST对象访问任何基于HTTP请求传递所有信息,包括从HTML表格用POST方法或GET方法传递的参数、COOKIE和用户认证。2RESPONSE对象RESPONSE对象是用来控制发送给用户的信息,包括直接发送信息给浏览器、重定向浏览器到到另一个URL或设置COOKIE的值。3SERVER对象SERVER对象在ASP中是一个很重要的对象,许多高级功能都是靠它来完成的。SERVER对象的最重要的方法是CREATEOBJECT方法,该方法用于创建己注册到服务器上的除ASP内置对象外的其它ACTIVEX组件。这是一个非常重要的特性,因为正是使用ACTIVEX组件,你可以
29、实现一些光靠脚本无法实现的功能,如数据库访问,文件访问等。4APPLICATION对象可以使用APPLICATION对象,在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久地保存数据。5SESSION对象可以使用SESSION对象存储特定的用户会话所需的信息。6OBJECTCONTEXT对象提供在页面内进行事务处理的能力。在WEB数据库应用系统中REQUEST对象常用于添加数据与传递参数功能中,而RESPONSE对象用于输出数据库检索结果,SERVER对象用于创建数据库组件,SESSION与APPLICATION对象用于存贮页之间或应用程序间传递的数据和参数。22ASP的语法规则概
30、述如前所述,ACTIVESERVERPAGESASP文件是以ASP为扩展名的文本文件,这个文本文件可以包括下列部分的任意组合,但对具体位置由一定的要求1文本;2HTML标记;3ASP脚本命令。如果要在HTML文件中添加脚本,只需将该文件的扩展名HTM或HTML替换为ASP就可以了。要使ASP文件可以运行来响应访问者。必须将这个文件保存在WEB站点上的具有脚本执行权限目录中。当访问者使用浏览器察看该文件时,就可以看到经ASP处理并返回计算机科学与技术系毕业设计(论文)7的HTML页。值得注意的事,因为ASP文件需要额外的处理,如果该文件不含ASP语句,就不用将所有的HTML页都转换为ASP页。应
31、该只将包含脚本命令的文件命名为ASP文件,以提高效率。脚本命令通过定界符与文本区别开来。ASP使用定界符括入脚本命令。只要命令对正在使用的脚本语言有效,就可以在定界符中括入任何命令。定界符括入的命令被称为主脚本命令。这些命令被主脚本语言处理。在ASP定界符中可以包含任何在主脚本语言中合法的语句、表达式、过程或操作符。计算机科学与技术系毕业设计(论文)83聊天室软件需求分析需求分析是程序设计中最关键的一个步骤,是其他步骤的基础。其主要任务是“为了解决这个问题,目标系统必须做什么”。主要确定目标系统具有那些功能。在这个步骤里,程序员在用户那里搜集所有的对将要开发的系统的需求信息,并且把这些信息编写
32、成为用户和程序员都可以认可的需求说明书。31可行性研究1技术可行性因为该系统是要求是实现动态交互式的页面设计及对数据库的查询、插入、删除等操作,而本系统采用ASP技术设计网页及使用ACCESS数据库来存储数据,所以技术上是可行的。2经济可行性开发本系统为用户和管理员带来了极大的方便,而且所用的人力、物力、技术、资金等的花费不大,所以今后获得的经济效益一定会大于开发成本。3操作可行性由于本系统安装了ACCESS,IIS所以只要打开IE浏览器,输入IP地址即可进入本系统,操作方便。32聊天室运行环境ASP要浏览必须经过服务器解析才能够浏览得到。如果是将ASP文件上传到支持ASP的服务器,那就能够直
33、接浏览。但是如果是在本机上,那就必须将电脑设置成为服务器。单机并不需要设置成为局域网,只需要设置成为单机服务器就可以。ASP运行所需的环境如下MICROSOFTINTERNETINFORMATIONSERVERVERSION30/40ONWINDOWSNTSERVERMICROSOFTPEERWEBSERVICESVERSION30ONWINDOWSNTWORKSTATIONMICROSOFTPERSONALWEBSERVERONWINDOWS95/98/2000/XP也就是说平常所使用的WINDOW95/98/2000/XP都可以运行ASP,只需要将其设置为单机服务器就行了。归结一点WIND
34、OW95/98,需要安装PWS;WINDOW2000/XP,需要安装IIS。才能发挥其ASP的作用。一般较常使用的是WINDOW2000IIS5和WINDOW98PWS,而WINDOW95PWS和WINDOWXPIIS则较少人使用。因为WINDOW95已经很少人使用这个操作系统了,最少都使用98的而XPIIS,则是XP对IIS不是完全兼容支持,有些功能配合得不够完美,而较计算机科学与技术系毕业设计(论文)9少人采用。推荐使用WINDOW2000IIS5这对组合,因为WINDOW2000是相对比较稳定的系统,对于服务器网络方面微软投入得较多,比较适合作为服务使用。下面就详细讲解WINDOW200
35、0IIS5的安装设置方法1、找一张WINDOW2000的系统安装盘;2、在“开始”“控制面板”“添加/删除程序”“添加/删除WINDOWS组件”,随后在“组件”列表对话框中选中“INTERNET信息服务”、”管理和监视工具”和“脚本调试器”,点击WINDOWS组件对话框上“确定”按钮,WINDOWS2000将会自动开始安装和配置IIS。3、安装好了IIS并不等于马上可以使用,还要给IIS配置上IP地址才可以使用第一、在“开始”“程序”“管理工具”“INTERNET服务管理器”;第二、打开之后,可以看到在计算机标识符下有默认的FTP站点、默认的WEB站点和一个默认的SMTP虚拟服务器。第三、选中
36、“默认的WEB站点”,按鼠标右键,从弹出选单中选择“属性”,进入属性对话框并选择“WEB站点”选项,然后点击“IP地址”下拉框,选择“19216801”你本机上的IP地址作为WEB站点的IP地址。这样,就可以通过在IE浏览器中键入“HTTP/LOCALHOST/”或“HTTP/19216801/”来访问本机上的WEB站点了。4、到现在为止,已经可以访问IP地址为19216801的WEB站点了。启动IE并在地址栏中键入HTTP/19216801。或是直接在“INTERNET服务管理器”的右边,选中想要浏览的网页,按右键选择“浏览”也是可以打开所要打开的网页。如果并不想将文件放在LOCALHOST
37、文件夹里面,或是习惯在其他的硬盘里面新建一个文件来存放网页,那么可以选中“默认的WEB站点”,按鼠标右键,从弹出选单中选择“新建”,选择“站点”,再一步一步做下去就可以了。但是此虚拟站点还未启动,还是不可以使用,将原来启动的那个站点,按鼠标右键,从弹出选单中选择“停止”,然后选中刚才新建的站点,同样的选择“启动”就可以通过在IE浏览器中键入“HTTP/19216801/”来访问本机上刚才新建的新的站点了。同一个IP是不可以同时被两个站点使用的,所以如果要使用时必须注意,将不想使用的站点停止了,才可以启用新的站点。33聊天室功能说明该聊天室的实现共由7个文件完成,通过NICKNAMEHTM登录界
38、面进入聊天室后,用户进入聊天室,用户可以从聊天用户窗口看到该聊天室中所有用户ID;在聊天窗口中看到随时更新的聊天信息;用户可以给所有人或某一个聊天用户发送公共的聊天信息,可以给自己的聊天信息定义不用的颜色,还可以加上丰富的表情语言,这个聊天内容大家都会看到;用户还可以给某个用户发送私人的聊天信息,这种信息属于私聊信息,只有发送者和接收者自己可以看到;此外聊天窗口中还有一些系统公告,比如某某登陆聊天室、某某离开的消息。若用户想退出,按退出键便可离开聊天室。计算机科学与技术系毕业设计(论文)1034系统功能模块说明(1)登陆模块登陆页(NICKNAMEASP)主要用于记录登陆者聊天者的昵称、登陆时
39、间、IP地址等信息。(2)谈话模块(CHATASP)主要用于发送谈话内容,选择私聊对象,清空谈话内容,选择动作,显示帮助文件,退出等多项功能。(3)显示模块分为对所有人和私聊两部分。对所有人的为(TEXTASP),私聊为(SCRASP)。实现了对话内容,动作等的显示。(4)人员列表(ALLNAMEASP)显示所有聊天人员名称,可以提供自动和手工刷新人员列表的功能。(5)功能模块主要用于管理聊天室,包括屏蔽,分屏,刷新等功能按钮。(6)站名和聊天室名显示模块显示站名和聊天室名。35体系结构图当用户向服务器聊天室所在页面提出浏览请求时,将得到一个(一组)ASP返回页,也即是已经进入聊天室。服务器向
40、用户端响应返回ASP页面。浏览器向服务器提出请求浏览器向服务器提出请求服务器向用户端响应返回ASP页面图31体系结构图WEB服务器用户工作站用户工作站计算机科学与技术系毕业设计(论文)1136系统总流程图进入聊天室登录界面离开聊天室进入聊天室主界面输入并发送信息显示私聊显示对所有人信息图32系统总流程图开始NICKNAMEASPCHATASPDEFAULTHTMTEXTASPSCRASP计算机科学与技术系毕业设计(论文)1237系统功能模块图图33功能模块图4软件实现通过登录界面进入聊天室后,用户进入聊天室,用户可以从聊天用户窗口看到该聊天室中所有用户ID;在聊天窗口中看到随时更新的聊天信息;
41、用户可以给所有人或某一个聊天用户发送公共的聊天信息,可以给自己的聊天信息定义不用的颜色,还可以加上丰富的表情语言,这个聊天内容大家都会看到;用户还可以给某个用户发送私人的聊天信息,这种信息属于私聊信息,只有发送者和接收者自己可以看到;此外聊天窗口中还有一些系统公告,比如某某登陆聊天室、某某离开的消息。若用户想退出,按退出键便可离开聊天室。网络聊天室系统聊天设置功能聊天管理功能私聊功能表情功能改名功能分屏功能封锁IP地址功能踢人功能屏蔽讲话功能计算机科学与技术系毕业设计(论文)13根据以上的功能,无论使用何种手段实现聊天室程序,都应能解决如下一些技术要点1如何组织、存储所有聊天者所说的话即聊天信
42、息,以期达到最基本的能在多个用户即多个聊天者之间实现信息共享。聊天室程序的速度瓶颈如果有的话就在这里。当然还有一类数据如聊天者的个人资料,以及其在本聊天室中目前的权限级别等等,此类数据因无须共享,对聊天的速度并没有本质上的影响,所以系统降低了对它们进行组织存储的要求,我们可以使用磁盘文件,也可以借助于WEB后台数据库如MSSQLSERVER等进行存储。2如何实现登陆功能。3如何实现人员列表。4如何实现公共聊天和私聊。5如何解决聊天刷新。6如何实现聊天室踢人功能。7如何实现封锁IP功能。8如何实现表情。9如何实现屏蔽功能。10如何实现41信息的组织、存储、共享的实现在实际应用中,聊天室程序并不需
43、要存储所有聊天者所说的所有话,而仅需存储正在室内的聊天者们最近所说的若干句话视系统特点、程序制作者风格等而定,一般在2060句话不等,当然能让聊天者自己在一定的范围内进行选择设定为最好,这些信息也无须作长期永久性的存储。因此,我们可舍弃磁盘文件及后台数据库的方法,直接使用内存进行操作,这样可大大提高信息的读写速度,从而能较好地解决聊天室的速度瓶颈问题。同时,这些信息经过组织存储后,在聊天者的浏览器端显示时要求具有顺序性,为了便于显示、加快显示速度,对这些信息要求具有操作的连续性。不管在何种语言中,数组是能同时满足这两项要求的数据结构之一。在聊天室程序中,完成了信息的组织存储,仍有另一关键技术待
44、解决如何能在多个程序或一个程序的多个运行实例之间进行信息共享。这一技术在不同的编程语言中有不同的解决思路,如共享内存,数据文件;或者使用服务器/客户模式程序实现在多个程序间完成数据交换。由于APPLICATION对象的设置值为应用的所有用户共享,我们可以用它来保存聊天室的发言。为了便于处理,引入一个数组来存放发言,在GLOBALASA文件的APPLICATIONONSTART事件代码中定义数组并将其赋给一个APPLICATION对象,数组的大小定为12,是为了限定显示行数为12行,保证用户阅读信息的方便,不用拉动垂直滚动条。利用模12运算按循环队列机制来填写数组,并将最新录入的发言显示在最底部
45、。GLOBALASA计算机科学与技术系毕业设计(论文)14SUBAPPLICATIONONSTARTDIMMCHATS12APPLICATION”GCHATS“MCHATSAPPLICATION“GCOUNTER“0ENDSUB为了防止两个用户为写入发言同时对APPLICATION对象变量修改,从而导致一个用户的所作的修改被另一个用户的操作所覆盖,必须解决多用户并发写入问题,APPLICATION对象的LOCKED属性可以用来只允许当前用户编辑APPLICATION对象的值,操作结束必须用UNLOCKED来释放其对APPLICATION对象的独占。如果在加锁时有其他用户请求编辑APPLICAT
46、ION对象,则这些用户要排队等待,直到APPLICATION对象被解锁。为了处理方便,在该程序中创建了APPLICATION对象变量的本地引用,这样做是为了简化代码,使用简短的本地变量而不是繁琐的名字,如APPLICATION“GCHATS“I42登陆功能的实现要实现登陆的功能就是在用户输入昵称的时候判断是否为空或者是否昵称重复,如果是则不能进入聊天室,要求用户重新输入,如果否则用户进入聊天室。这里只需要一个判断语句就可以完成,把表单中的NICKNAME文本框中的内容存入NICKNAME变量中,并判断NICKNAME变量是否为空,如果是则返回登陆界面;如果不是则把“来自某IP地址的某某同学在某
47、时间来到我们身边啦”这句话存入APPLICATION“SHOW”变量中(这样同时实现了系统公告)。并通过SESSION“SNAME“NICKNAMEAPPLICATION“SNAME“NICKNAMEAPPLICATION“ALLNAME“NICKNAME410表情功能的实现一个聊天室丰富的表情有时会给所有参与聊天的用户带来乐趣,我就是受网易聊天室的启发,采用类似的做法,当用户在发言框中输入/表情符号时,根据表情文件ACTIONTXT中的给定表情显示相应信息。如输入/AGREE,则显示”某某某完全同意对方的看法。”,要实现这一功能,需要在每次处理用户输入时,判断开头两个字符是不是/,再判断是否
48、是有效表情,再从表情文件中读出。IFLEFTTALKABOUT,2“/”THENSETFSSERVERCREATEOBJECT“SCRIPTINGFILESYSTEMOBJECT”SETFILEACTIONFSOPENTEXTFILESERVERMAPPATH“ACTIONTXT”,1,FALSESAYSTR“”DOWHILENOTFILEACTIONATENDOFLINEIFDELLEFTTALKABOUT,2CSTRFILEACTIONREADLINETHENSAYSTRCSTRFILEACTIONREADLINEEXITDOENDIFLOOP计算机科学与技术系毕业设计(论文)20通过以上
49、技术的实现,从而实现了网络聊天室。以下是聊天室的主界面。图42聊天室主界面5系统调试与维护51系统调试无论设计者的计划多么精密、经验多么丰富,脚本错误BUG可能在最初就使ASP服务器端的脚本无法正确运行。也就是说调试,即查找和纠正脚本错误,对开发一个成功的和强健的ASP程序是非常重要的。1MICROSOFT脚本调试工具计算机科学与技术系毕业设计(论文)21MICROSOFTSCRIPTDEBUGGER是一个功能强大的调试工具,它能迅速查找错误并对服务器端的脚本进行交互测试。SCRIPTDEBUGGER与WINDOWSINTERNETEXPLORER30版本或更新的版本一起工作。通过它,就可以1逐行运行服务器端脚本。2在服务器端脚本执行时,打开命令窗口监视变量、属性或数组元素的值。3在特定行设置暂停标记,挂起服务器端脚本(使用调试工具或脚本命令)。2启用调试在开始调试服务器端脚本之前,必须首先配置WEB服务器,使其支持ASP调试。在启用WEB服务器调试之后,就可以使用下面的任一方法调试脚本手工打开MICROSOFT脚本调试器,调试ASP服务器端脚本。使用INTERNETEXPLORER请求ASP文件。如果该文件包含错误或人为添加的停止执行语句,那么MICR