• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-6-30 18:56 | 作者: admin | 来源: | 查看: 13次 | 进入软件测试论坛讨论

领测软件测试网 通常的聊天室所采用的程序,也就是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%>
  简单解释:
  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():去掉字符串前的空格。


<script language=vbs>cnbruce=" This is a Test ! "alert("全部显示:"&cnbruce)alert("删除前面空格:"<rim(cnbruce))alert("删除后面空格:"&rtrim(cnbruce))alert("删除前后空格:"&trim(cnbruce))</script>

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变量的值。这样就保证所有用户都能看到的共享信息了。


文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网