首 页 ┆ 源码下载 ┆ IT学院 ┆ 字体下载 ┆ 模板下载 ┆ 源码发布 ┆ 广告合作 ┆ 网站地图
► 设为首页
► 加入收藏
► 联系我们
源码下载 >> ASP源码 | PHP源码 | ASP.net源码 | JSP源码 | CGI源码 | VC/C++源码 | VB源码 | Delphi源码 | Flash源码
文章学院 >> 网络编程 | 网页设计 | 图形图象 | 数据库 | 服务器 | 网络媒体 | 网络安全 | 操作系统 | 办公软件 | 软件开发 | 黑客知识
字体下载 >> 精制字体 | 非英字体 | 艺术字体 | 著名字体 | 哥特式 | 简单字体 | 手写体 | 节假日 | 图案字体 | 精度像素 | 中文字体
模板下载 >> 企业门户 | 数码网络 | 休闲娱乐 | 影视音乐 | 旅游名胜 | 文化艺术 | 电子商务 | 个性展示 | 登陆导航 | Flash模板
►►您当前的位置:源码园 → IT学院 → 网络编程 → ASP专区 → 文章内容

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

作者:未知  来源:CSDN  发布时间:2007-2-6 13:04:02
通常的聊天室所采用的程序,也就是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():去掉字符串前的空格。

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]

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变量的值。

[] [返回上一页] [打 印]
  • 上一篇文章:ASP编程入门进阶(十):Global.asa文件
  • 下一篇文章:ASP编程入门进阶(十三):Ad & Content Rotator

  • 相关文章:
  • [图文]如何在Delphi中实现ASP编程
  • ASP编程入门进阶(二):认识表单--ASP,编程,入门进...
  • [组图]ASP编程入门进阶(一):安装配置服务器--ASP...
  • ASP编程入门进阶(四):内置对象Request--ASP,编程...
  • ASP编程入门进阶(三):接触脚本程序--ASP,编程,入...
  • 用ASP编程控制在IIS建立Web站点
  • 如何把ASP编写成DLL(3)
  • 如何把ASP编写成DLL(2)
  • 如何把ASP编写成DLL(1)
  • asp编写的加密和解密类
  • Asp编写不再让人讨厌的自动弹出窗口
  • 用ASP编写计数器
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 源码发布
Copyright © 2003-2009 Ymyasp.Com. All Rights Reserved .
备案序号:粤ICP备07029071号