当前位置:首页 > 代码 > 正文

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站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/24035.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载