ASP聊天室实验报告.doc
ASP聊天室实验报告一、聊天室功能:通过ASP语言和HTML语言完成一个简单网页聊天室。通过设置该聊天室的默认密码,提高了安全性,如果密码为“”则允许多个用户同时登入聊天室进行实时交流。并且每个用户可以选择自己的昵称并且可以看到彼此的信息。同时可以选择聊天的语气和字体的颜色。聊天室由chat.asp,global.asa, main.asp,talker.asp,speaking.asp,show.asp文件组成二,聊天室使用方法:需把所有文件放到一个文件夹中,如果在局域网中,则将此文件夹设置为共享,则其他用户可通过在浏览器中输入http:/局域网中本机地址/chat.asp登入聊天室。如果在互联网上,则可用IIS将本机模拟成WEB服务器,然后在浏览器中输入http:/本机IP地址/chat.asp 。 三,聊天室介绍: 各文件功能介绍 序号文件名功能说明1chat.asp登入聊天室页面并进行检查核对2global.asa初始化全局文件3main.asp聊天室主页面4speaking.asp构造、发送并显示信息5talker.asp聊天者列表6show.asp聊天内容具体执行流程chat.aspmain.aspspeaking.asptalker.asp show.asp 四,各文件介绍:1,登入页面chat.asp登入页面的效果如下图,首先是插入了一个表格,使页面看上去会比较整齐。其次,程序段中,会检查用户是否输入了昵称,如果没有只能停留在当前页面,如果输入了昵称并输入了默认的密码”则进入超链接。源代码:<html><head><title>趣味聊天室</title></head><body bgcolor="pink" alink="pink" vlink="red"><p align="center"><%UID=TRIM(Request("UID")if len(uid)<>0 and request.form(“PWD”)=” THENsession("UID")=UID%><br><br><br><br> <a href="MAIN.asp"><B>欢迎进入聊天室</B></a> <%ELSE%><p align="center"><br><br><br><br><font face="华文彩云" color="#" size="7"><b>欢迎进入趣味聊天室</b></font> <form action="chat.asp" method="POST"><table><tr width="4" align="center" bgcolor="pink"> <td align="center" bgcolor="pink"><font face="华文行楷" color="black" size="6"><b>姓名:</b></font><input type="text" name="UID">*<br></td></tr><br><br><tr width="100%" align="center" bgcolor="pink"> <td width="100%" align="center" bgcolor="pink"><font face="华文行楷" color="black" size="6"><b>密码:</b></font><input type="password" name="PWD">*<br></td></tr><br><br><tr width="100%" align="center" bgcolor="pink"> <td width="100%" align="center" bgcolor="pink"><input type=submit value=提交></td></tr></body></html>2,聊天室主界面 main.aspmain.asp是一个框架页,他将屏幕分成三个部分,如下图,在显示这个框架之前先检查登陆人数是否超过了定义的上界,如果没有则完成下面三项准备工作:聊天室用户添加一个,将新用户的昵称加入用户名单,新用户进入的信息添加到公共话语中。最后显示框架。源代码:<%response.buffer=true%><html><head><title>聊天室</title><meta name="GENERATOR" content="Microsoft FrontPage 4.0"></head><%Items=Split(Application("Peoples"),",")if UBound(Items)=300 thenresponse.write "人满为患,请稍后再来!"Session.Abandon '释放Sessionresponse.endend ifUid=Session("Uid")application.lockapplication("peoples")=application("peoples") & Uid & ","application(Uid)="欢迎进入聊天室!"application.unlockSession("Begin")=Time%><frameset rows="70%,*"><frameset cols="82%,*"><frame name="Ltop" Target="Ltop" scrolling="auto" noresize src="Showing.asp"><frame name="Rtop" Target="Rtop" noresize scrolling="auto" src="talker.asp"></frameset><frameset cols="100%"><frame scrolling="auto" noresize src="Speaking.asp"></frameset> <noframes> <body> <p>浏览器不支持</body></noframes></frameset></html> 3,全局文件global.asa全局文件将在web服务器启动后第一个用户访问网络时启动,他的作用一般是初始化。源代码:<Script language="VBscript" RUNAT="Server">Sub Application_OnStartApplication.lockAllSee="欢迎进入聊天室!"Application.unlockend sub</Script> 4,聊天室下屏speaking.aspspeaking.asp用于输入用户所要说的话语,并允许用户选择说话的语气和字体颜色并进行处理话语的对象。如果用户提出了退出请求,则用户名单会自动清楚您的用户名。源代码:<HTML><%'HEAD>'<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/HTML;charset=gb2312">'<title></title>'<meta name="GENERATOR" content="Microsoft FrontPage 4.0">'</HEAD%><BODY bgcolor="rgb(230,300,100)"><%Ext=Request("Ext")if Ext="退出" ThenUid=Session("Uid")Items=Split(Application("Peoples"),",")Application.lockApplication("Peoples")=""For i=0 to UBound(Items)-1if Items(i)<>Uid ThenApplication("Peoples")=Application("Peoples")&Items(I)&","end ifNextApplication(Uid)=""Application.UnlockSession.AbandonResponse.Endelse if Request("Content")<>"" then'构造显示信息Uid=Session("Uid")Strig="<font Color='" & Request("Color") & "'>"_& Uid & Request("Facial") & "说:"_& Request("Content") & "</Font><BR>"发送显示信息Who=Request("Who")Items=Split(Application("Peoples"),",")Application.lockif Request("Who")="All" ThenFor i=0 to UBound(Items)-1Application(Items(i)=strig & Application(Items(i)NextelseFor i=0 to UBound(Items)-1if Items(i)=Uid or Items(i)=Who ThenApplication(Items(i)=strig & Application(Items(i)end ifNextend ifApplication.Unlock end if%><form Method="POST" action=""><p>字体颜色 <Select Name="Color" Size=1 > <Option Value="Blue">蓝色</Option> <Option Value="Yellow">黄色</Option> <Option Value="Green">绿色</Option> <Option Value="Red">红色</Option> <Option Value="Gray">灰色</Option> <Option Value="Black">黑色</Option> <Option Value="White">白色</Option> </Select> <Input Type="Text" Name="Content" Size="50"> <Input Type="Submit" Name="Ext" Value="提交"><P> 选择谈话表情 <Select Name="Facial" Size=1 > <Option Value="兴高采烈地">兴高采烈地</Option> <Option Value="无聊搭闲地">无聊搭闲地</Option> <Option Value="悲哀忧伤地">悲哀忧伤地</Option> <Option Value="悲怒谴责地">悲怒谴责地</Option> </Select> 选择聊天对象 <Select Name="Who" Size=1 > <Option Value="All">全体成员</Option> <% Items=Split(Application("Peoples"),",") for i=0 to UBound(Items)-1 %> <Option Value="<%=Items(i)%>"><%=Items(i)%><Option> <%Next%> </Select> <Input Type="Submit" Name="Ext" Value="退出"> <%end if%> </BODY></HTML> 5,聊天室右屏talker.asp用于显示聊天者每当一个用户登录就会显示其用户名,当退出时,进行刷新就会剔除其用户名。源代码:<html><head><meta http-equiv="refresh" content="30; URL=Talker.asp"><title>聊天成员</title><base target="Rtop"></head><body bgcolor="rgb(224,241,227)"><%If session("Uid")<>"" Then%> <p><strong><font color="#ff00ff">聊天者:</font></strong><br></p><p><%Items=Split(application("Peoples"),",")For i=0 to UBound(Items)Response.Write "<Font color=green>" & "-" &_Items(i) & "-" & "</font> <br>"NextElse%><big><font face="隶书"color="#ff0000"><big><strong>请您离开</strong></font><font color="#ff00ff"><br></font></big><%end if%></p></body></html> 6,聊天室上屏show.asp用于显示speaking.asp中的话语部分,如果用户退出则显示:请您离开聊天室!源代码:<html><head><meta http-equiv="refresh" content="10; URL=Showing.asp"><title>聊天内容</title><base target="Ltop"></head><body bgcolor="rgb(200,200,200)"><%Uid = Session("Uid")if Session("Ext")<>"退出" thenresponse.write application( Uid )else '删除客户%><p><font color="#ff0000"><strong><font face="隶书"><big><big><center>请您离开聊天室!</center></big></big></font></strong><%end if%></body></html>