ASP编程入门进阶(十一):Chat聊天程序

作者:cnbruce 来源:CSDN 时间:2008-05-12 07:06:00 

通常的聊天室所采用的程序,也就是Chat程序了,其基本结构原理是不会采用到数据库的。那究竟采用什么技术呢?我们知道ASP变量当中Session变量的作用是记录单个用户的信息,并且能跟踪用户的行为;Application对象的作用则起的全局变量,可以实现站点多个用户之间在页面中共享信息的。

那可以想象,在针对当前聊天程序中,一个聊天成员即为一个Session变量,聊天成员之间的会话则当成Application变量进行共享显示,以使各成员都能看见。

那下面就采用一很经典的实例程序,进行了解和分析。

1,chat.asp

<%If Request.ServerVariables("Request_Method")="GET" then%>
  <form method="post" action="chat.asp">
   <input type="text" name="nick"  value="your nick name"><p>
   <input type="submit" value="come in"><p>
   <input type="hidden" name="log" size="20" value="1">
  </form>
<%Response.End 
  Else
  Response.clear
  dim talk
   If Request.Form("nick")<>"" then
    Session("nick")=Request.Form("nick")
   End if
%>
<form method="post" action="chat.asp" name=form1> 
 <%=Session("nick")%>说话:
 <input type="text" name="talk" size="50"><br>
 <input type="submit" value="提交">
 <input type="reset" value="取消"></p>
</form>
<a href="chat.asp">离开</a><br>
<%
If Request.Form("log")<>1 then
  If trim(Request.Form("talk"))="" then
    talk=Session("nick")&"不说一句话就想来敷衍大家"
  Else
    talk=trim(Request.Form("talk"))
  End If
 Application.lock
  Application("show")="来自"&Request.ServerVariables("remote_addr")& "的" &Session("nick")&"在"&time& "的时候说:" &talk& "<br>" &Application("show")
 Application.UnLock
 Response.Write Application("show")
End if
%>
<%End if%>

简单解释:

1,<%If Request.ServerVariables("Request_Method")="GET" then%>的作用就是判断当前页面接受的方式,如果为GET方式则会显示“要求输入昵称”的表单页。因为页面的默然接受方式为GET,当在URL地址栏直接敲入时,也就是没有任何信息的时候,就应该显示要求“输入昵称”。

2,<input type="hidden" name="log" size="20" value="1">和下面的If Request.Form("log")<>1 then是有关联的:显然第一次输入昵称进入,同样将log隐藏域发送。但作为第一次的进入是无任何语句发言的,所以判断接受的log值不为1,亦即非首次登录(表示已经登录)时,执行内部相关聊天显示程序。

3,trim(Request.Form("talk"))="",trim就是个函数了:删去字符串前,后的空格。初此,还有rtrim():去掉字符串后的空格;ltrim():去掉字符串前的空格。


4,Application.lock
 

 Application("show")="来自"&Request.ServerVariables("remote_addr")& "的" &Session("nick")&"在"&time& "的时候说:" &talk& "<br>" &Application("show")
 Application.UnLock

提取精华得

Application.lock
  Application("show")=talk& "<br>" &Application("show")
 Application.UnLock

可以看到是Application变量的叠加功能,每次Application("show")的值都建立在原有Application变量值的基础之上,再附加上最新的聊天内容:talk变量的值。

标签:聊天,chat,程序,实例,数据库
0
投稿

猜你喜欢

  • XML轻松学习手册(3)XML的术语

    2008-09-05 17:17:00
  • asp如何建立和删除文件夹?

    2009-11-26 20:34:00
  • MySQL数据库单一表突破4G限制的实现方法

    2008-11-02 14:43:00
  • 交互设计实用指南系列(8)—深广度平衡

    2010-02-01 12:59:00
  • MSSQL数据库还原图解教程

    2009-01-12 17:58:00
  • 屏蔽Flash 右键菜单的方法

    2008-05-24 07:21:00
  • 如何判断URL格式是否符合规范?

    2010-01-12 20:14:00
  • asp如何自动反馈电子邮件?

    2002-01-01 06:54:00
  • 把网页中的电话号码生成图片的ASP程序

    2008-11-07 16:12:00
  • ACCESS 2007出现“错误 '80040e14'“

    2008-06-19 13:21:00
  • Oracle7.X 回滚表空间数据文件误删除处理方法

    2010-07-28 12:54:00
  • 中英文双语导航菜单

    2007-05-11 17:04:00
  • 别人复制你网站的文章时自动加上注释

    2009-02-09 13:20:00
  • WIN2003无法上传较大的文件Request对象错误解决方法

    2007-08-10 09:44:00
  • PHP正则表达式替换<pre>标签外的内容

    2023-05-22 10:47:12
  • 浅谈购物类网站如何保持视觉设计的一致性

    2009-03-30 16:02:00
  • Mootools 1.2教程(11)——Fx.Morph、Fx选项和Fx事件

    2008-12-04 16:03:00
  • PL/SQL 类型格式转换

    2009-02-26 11:07:00
  • ASP编程中使用数组方法实例讲解

    2008-02-15 08:25:00
  • 解剖JavaScript中的null和undefined

    2009-03-01 12:49:00
  • asp之家 网络编程 m.aspxhome.com