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


通常的聊天室所采用的程序,也就是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变量的值。这样就保证所有用户都能看到的共享信息了。

未完待叙



相关阅读:
数据库分页存储过程代码
MYSQL中如何存取二进制文件
在B/S开发中经常用到的JavaScript技术
在SQL Server计算列和平均值
利用XMLHTTP实现的二级连动Select
提升JSP应用程序的七大绝招
VBS教程:方法-Keys 方法
asp在IE浏览器中下载服务端上的各类文件的实现方法
让任务管理器中的CPU跳舞的js代码
sockaddr与sockaddr_in
MSCRM调用外部JS文件
从DBA到Oracle Applications DBA的转变过程
2009预测中国网站建站10大欢迎CMS
CSS教程:容器定位
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 《细米》读后感800字 文艺演出串联词礼仪主持 走近孙老师作文800字 不曾放弃的爱作文1200字 经济合同纠份的处理 端午的雨 心中的疼 文字工作7 日后,在不消磨的良辰里,彼此,就两两相忘吧。 小学六年级作文650字:谢谢您!老师 夏未央作文1500字 两岸一日游作文800字 20条人生感悟经典语录:爱情的悲剧源于挑剔;婚姻的完美由于宽容。 郭德纲微博语录 助夫廉政不参政牢筑家庭反腐墙 知道错了 舞动孤独 初一作文450字:生活需要微笑 幸福有多远,迟到的幸福... 读让孩子受益终身的101个道理故事有感 买菜记作文550字 我眼中的夏天300字作文 给女孩的一封信作文600字 忽然遇见你 自动化软件求职信模板 一场刻骨铭心的错爱 开料工老王(小小说) 梦中的“六·一”节 2015考场作文素材:名人故事(二) 母爱的句子 与校园有关的作文300字 假如你不够快乐——汪国真诗选集 初中关于幸福的作文 送胡澳下第归蒲津 窗外有蓝天作文800字 难忘的第一次坐飞机作文 记一次体育比赛作文200字 我走以后,你是谁眼中的风景。 水墨画动物教学反思 彩虹梦 接财神祝福语 作文 我和妈妈换角色 人生三论 数数歌 最新教师节主题征文:感念师恩 学校食物中毒应急救治工作预案-范文 2013年12月学习十八届三中全会精神思想汇报范文 我倾慕的姑娘·雪夜行迹 我爱蜘蛛作文500字 孤岛惊魂经典台词,经典语录和语句 班级安全活动方案

Copyright © 2016 phpStudy |