asp代码聊天室(asp实现一个简易的聊天室)
admin 发布:2022-12-19 21:03 132
今天给各位分享asp代码聊天室的知识,其中也会对asp实现一个简易的聊天室进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
怎样用asp创建聊天室?(高分)
用ASP建造自己的聊天室
聊天室想必你一定去过吧,但想不想建立自己的聊天室呢?其实这一点都不难,Active Server Script提供了Application对象和Session对象,Application对象代表了一个Active Server应用程序,也就是一个Web网页,Session对象则表示一个用户,代表一个用户对这个页面的一次访问,通过Application对象可以让访问它的所有用户共享信息,并可以在Web服务器运行期间持久地保存数据,而Session对象也可以在用户的一次访问期间持久地保持数据,利用这两个对象,就可以十分方便地建造自己的Chat应用程序。
---- 一、Application对象:
---- 1.属性:Application对象没有内置的属性,但用户可以定义自己的属性:
---- Application(“属性名称”)=值,一旦分配了属性,它就会一直存在,直到Web服务器关闭服务,而且它能被所有用户读取,所以可以用它在用户之间发送谈话内容。
---- 2.方法:当两个用户同时对Application属性的值进行写入操作时,会出现一方的修改被另一方的操作直接覆盖掉的情况,为了避免这种现象,用户可以调用Lock方法进行锁定,这样只有当前用户才能够对Application的属性进行操作,用户完成操作后调用Unlock方法解锁,使得其他用户也可以修改Application的属性。
---- 3.事件:创建Active Server应用程序需要在Web服务器上存放应用程序的虚拟主目录下创建Global.asa文件,它含有Application对象和Session对象的事件处理例程,通常,Application_Onstart事件用来定义应用级的属性。
---- 二、创建一个Chat应用程序:程序运行时如下图所示(略)
---- 1.设置应用程序的变量:这里需建立两个应用程序级的变量,gchars数组用来存放用户的谈话内容,gcounter用做计数器,控制页面的显示行数,在这里我们让页面最多显示最近的10行谈话内容。当应用程序启动时这些变量必须进行初始化,所以它们的创建都要在Global.asa文件中的Application_onstart事件中:
script language="vbscript" runat="server"
sub application_onstart()
dim lchars(10)
application("gchars")=lchars
application("gcounter")=0
end sub
/script
---- 2.确定处理ASP的方式:当用户第一次请求这个ASP文件时,用的是GET方法,然后,当用户输入完谈话内容后提交时用的是POST方法,在这里表单是向自身提交的,所以这个ASP文件会被再次请求,我们通过测试Request . ServerVariales(“Request_Method”)变量来确定文件被请求的方式:IF Request . ServerVariales(“Request_Method”)=“POST” then
---- 3.确定讲话者:当用户第一次提交谈话内容时需输入自己的姓名,一旦在txtname框中输入数据后,程序将建立一个会话级变量来存放用户姓名,并自动显示在txtname框中,用户就不需再次输入了,除非你想用另一个名字加入会谈。
IF len(request(“txtname”)) 0 then
Session(“ssname”)=request(“txtname”)
End if
h5 您的姓名:
input type=“type” name=“txtname”
length=“20” value= %=session(“ssname”)%
----
---- 4.处理用户的谈话内容:首先要确定已经为Chat写入的谈话行数,为方便阅读,在这里将显示行数限定为10行,如果Application(“gcounter”)大于9,则将其置为0,然后将谈话者姓名和内容一起存放到Application(“gchars”)数组中:
Application(“gchars”)
(Application(“gcounter”))=Session(“ssname”)
“:” request(txttalk)
然后将计数器加1:Application(“gcounter”) =Application(“gcounter”)+1
---- 5.将数组内容写入到客户的浏览器中:用户提交谈话内容后,程序必须将数组内容写到客户的浏览器中,让聊天室中的所有人都能看到被提交的谈话内容:
if application("gcounter")=0 then
lstemp=application("gchars")(0)
else
for x=0 to application("gcounter")-1
lstemp=lstemp " br " application("gchars")(x)
next
end if
---- 最后,用Response.write方法将lstemp变量的值写到客户的浏览器中去:
response.write lstemp
---- 下面给出Default.asp的完整代码:
%response.expires=0
response.buffer=true%
html head title Chat sample /title /head
body center
h3 我的聊天室 /h3 /center hr
% if request.servervariables("request_method")="POST" then
if len(request("txtname")) 0 then
session("ssname")=request("txtname")
end if
application.lock
mcounter=application("gcounter")
mchars=application("gchars")
if mcounter 9 then
mcounter=0
end if
mchars(mcounter)=session("ssname")
":" request("txttalk")
mcounter=mcounter+1
application("gcounter")=mcounter
application("gchars")=mchars
application.unlock
end if %
% if application("gcounter")=0 then
lstemp=application("gchars")(0)
else
for x=0 to application("gcounter")-1
lstemp=lstemp " br " application("gchars")(x)
next
end if
response.write lstemp %
hr center
form action="default.asp" method=post name="aspform"
b a href="default.asp"
更新显示 /a /b
h5 发言:
input type="text" name="txttalk" size="70" br
h5 您的姓名:
input type="text" name="txtname" length="20"
value= %=session("ssname")%
input type="submit" name="cmdpost" default="true" value="发送"
/form /center /body /html
---- 以上代码在NT4.0、IIS4.0、IE4.0中和Pwin98、PWS、IE4.0中分别运行通过。
跪求一套完整的asp简易的聊天室!!
以下是一个简易聊天室代码,代码摘自网上,可以做为参考。
%@ Language=VBScript %
%
Response.Buffer=true ' 设 置 输 出 缓 存,用 于 显 示 不 同 页 面。
On error resume next ' 忽 略 程 序 出 错 部 分
If Request.ServerVariables("Request_Method")="GET" then
'------------------------
' 客 户 登 陆 界 面
'------------------------
%
form method="POST" action="luo40.asp"p
input type="text" name="nick" size="20" value="nick" style="background-color: rgb(192,192,192)"br
input type="submit" value=" 进 入 聊 天 室 " name="B1" style="color: rgb(255,255,0); font-size: 9pt; background-color: rgb(0,128,128)"
pinput type="hidden" name="log" size="20" value="1"br/p
/form
%
Response.End ' 结 束 程 序 的 处 理
Else
Response.clear ' 清 空 缓 存 中 的 内 容
dim talk
If Request.Form("nick")"" then
' 判 断 客 户 是 是 否 在 聊 天 界 面 中
Session("nick")=Request.Form("nick")
End If
'------------------------
'客 户 聊 天 界 面
'------------------------
%
form method="POST" action="luo40.asp" name=form1 p%=Session("nick")% 说 话:input type="text" name="talk" size="50"br
input type="submit" value=" 提 交 " name="B1"
input type="reset" value=" 取 消 " name="B2"/p
/form
A HREF="luo40.asp" 离 开 /abrbr
%
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")="table border='0' cellpadding='0' cellspacing='0' width='85%'trtd width='100%' bgcolor='#C0C0C0'/td/trtrtd width='100%'font color='#0000FF' 来 自 "Request.ServerVariables("remote_addr")" 的 "Session("nick")time" 说:/font"talk"/td/trtrtd width='100%' bgcolor='#C0C0C0'/td/tr/tablebr"Application("show")
Application.UnLock
Response.Write Application("show")
End If
End If
%
聊天室 asp 代码
html
head
title小小聊天室/title
/head
%
Session("user_name")=Request("user_name") '将用户昵称保存到session中
'下面几句返回来访者信息
Dim sayStr
sayStr="来自" Request.ServerVariables("Remote_Addr") "的" '来访者IP地址
sayStr=sayStr "b" Session("user_name") "/b" '来访者昵称
sayStr=sayStr "于" Time "大驾光临" '来访时间
sayStr="font color='red'" sayStr "/font" '红色显示
'下面几句将来访信息保存到Application中
Application.Lock '先锁定
Application("show")= sayStr "br" Application("show") '返回聊天信息
Application("user_online")=Application("user_online")+1 '在线人数加1 Application.Unlock '解除锁定
%
frameset rows="*,14%"
frame name="main" src="main.asp"
frame name="input" src="input.asp"
noframes
body scroll="no"
p此网页使用了框架,但您的浏览器不支持框架。/p
/body
/noframes
/frameset
/html
**********************以上为CHAT.ASP****************
%
'下面几句返回离开者信息
Dim sayStr
sayStr="来自" Request.ServerVariables("Remote_Addr") "的" '来访者IP地址
sayStr=sayStr "b" Session("user_name") "/b" '来访者昵称
sayStr=sayStr "于" Time "高兴而去" '离开时间
sayStr="font color='red'" sayStr "/font" '红色显示
'下面几句将来访信息保存到application中
Application.Lock '先锁定
Application("show")= sayStr "br" Application("show")
Application("user_online")=Application("user_online")-1 '在线人数减1
Application.Unlock '解除锁定
Response.Redirect "index.asp" '重定向回首页
%
******以上为exit.asp****************
html
head
title聊天室/title
Script Language="JavaScript"
!--
function check_Null(){
if (document.form1.user_name.value==""){
alert("昵称不能为空!");
return false;
}
return true;
}
// --
/Script
/head
body
h2 align="center"小小聊天室/h2
center
现在共有%=Application("user_online")%人在线p
form method="post" action="chat.asp" name="form1" onsubmit="JavaScript: return check_Null();"
请输入昵称input type="text" name="user_name" size="10"
input type="submit" value=" 进 入 "
/form
/center
/body
/html
************以上为index.asp*******************
html
head
title发言区/title
/head
body bgcolor="#FFFFCC" topmargin="0" leftmargin="0" onload="document.form1.say.focus();"
form method="post" action="" name="form1"
发言:
input type="text" name="say" size=40
input type="submit" value="发言"
br
颜色:
select name="mycolor" style="font-size:12px"
% If Request("mycolor")="#000000" Then %
option value="#000000" style="color:#000000" selected黑色/option
% Else %
option value="#000000" style="color:#000000" 黑色/option
% End If %
% If Request("mycolor")="#FF0000" Then %
option value="#FF0000" style="color:#FF0000" selected红色/option
% Else %
option value="#FF0000" style="color:#FF0000" 红色/option
% End If %
% If Request("mycolor")="#FFFF00" Then %
option value="#FFFF00" style="color:#FFFF00" selected黄色/option
% Else %
option value="#FFFF00" style="color:#FFFF00" 黄色/option
% End If %
% If Request("mycolor")="#3333FF" Then %
option value="#3333FF" style="color:#3333FF" selected蓝色/option
% Else %
option value="#3333FF" style="color:#3333FF" 蓝色/option
% End If %
/select
表情:
select name="myemote" style="font-size:12px"
option value="无" selected无
option value="回眸一笑"回眸一笑
option value="幸灾乐祸"幸灾乐祸
option value="号啕大哭"号啕大哭
option value="拳打脚踢"拳打脚踢
option value="气急败坏"气急败坏
option value="温柔细语"温柔细语
option value="得意非凡"得意非凡
option value="大惊失色"大惊失色
/select
a href="exit.asp" target="_top"离开聊天室/a
/form
%
IF Request("say")"" Then
'获取发言的有关信息
Dim say,mycolor,myemote,user_name '声明变量待用
user_name=Session("user_name") '返回用户昵称
say=Server.HtmlEncode(Request("say")) '返回发言,并用HtmlEncode编码
mycolor=Request("mycolor") '返回本次发言的颜色
myemote=Request("myemote") '返回本次发言表情
If myemote="无" Then
myemote=""
End If
'下面三句将得到本次发言的字符串
Dim sayStr
sayStr="small" user_name Time myemote "说:/small"
sayStr=sayStr "font color='" mycolor "'" say "/font"
'下面几句将本次发言信息保存到Application中
Application.Lock '先锁定
Application("show")= sayStr "br" Application("show")
If Len(Application("show"))10000 Then '如果发言总长度超过10000个字符,则截断为10000
Application("show")=Mid(Application("show"),1,10000)
End If
Application.Unlock '解除锁定
End If
%
/body
/html
**************以上为input.asp***************
html
head
title 发言区/title
meta http-equiv="refresh" content="5"
/head
body
%
Response.Write Application("show") '显示聊天内容
%
/body
/html
************以上为main.asp***************
asp代码聊天室的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于asp实现一个简易的聊天室、asp代码聊天室的信息别忘了在本站进行查找喔。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:微信投票代码分析(微信投票数据)
- 下一篇:软件代码(软件代码是什么意思)
相关推荐
- 05-09网页代码,网页代码快捷键
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
- 05-06点击弹出密码代码(点击弹出密码代码错误)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接