姓名:*
|
密码:*
|
| |
<%END IF%>
2,聊天室主界面 main.asp
main.asp是一个框架页,他将屏幕分成三个部分,如下图,在显示这个框架之前先检查登陆人数是否超过了定义的上界,如果没有超过代码中规定的人数则完成以下准备工作:将新用户的昵称加入用户名单application(\"peoples\")对象中,新用户进入的信息“欢迎进入聊天室!”赋给当前用户即application(Uid)=\"欢迎进入聊
天室!\",最后显示框架。
截图如下:
源代码:
<%
response.buffer=true %>
聊天室
<% Items=Split(Application(\"Peoples\"),\
if UBound(Items)=30 then response.write \"人满为患,请稍后再来!\" Session.Abandon '释放Session
response.end end if
Uid=Session(\"Uid\") application.lock
application(\"peoples\")=application(\"peoples\") & Uid & \
application(Uid)=\"欢迎进入聊天室!\" application.unlock
Session(\"Begin\")=Time
%>
3,全局文件global.asa
全局文件将在web服务器启动后第一个用户访问网络时启动,他的作用一般是初始化。
源代码:
4,聊天室下屏speaking.asp
在speaking.asp中能看到将用户名单application(\"peoples\")显示在选择聊天对象的下拉列表框中且在此文件中构造用户所要说的话语,并允许用户选择说话的语气和字体颜色。如果用户点击了“退出”则代码:if Ext=\"退出\" Then
Uid=Session(\"Uid\")
Items=Split(Application(\"Peoples\"),\ Application.lock
Application(\"Peoples\")=\"\" For i=0 to UBound(Items)-1
if Items(i)<>Uid Then
Application(\"Peoples\")=Application(\"Peoples\")&Items(I)&\ end if Next
Application(Uid)=\"\" Application.Unlock Session.Abandon Response.End
的功能是将用户名单application(\"peoples\")中您的用户名清除。如果没有提出“退出”而是提交了构造的信息并选择了聊天对象则通过:if Request(\"Content\")<>\"\"
then
'构造显示信息
Uid=Session(\"Uid\")
Strig=\"\"_ & Uid & Request(\"Facial\") & \"说:\"_ & Request(\"Content\") & \"
\" '发送显示信息
Who=Request(\"Who\")
Items=Split(Application(\"Peoples\"),\ Application.lock
if Request(\"Who\")=\"All\" Then For i=0 to UBound(Items)-1 Application(Items(i))=strig & Application(Items(i)) else
For i=0 to UBound(Items)-1 if Items(i)=Uid or Items(i)=Who Then Application(Items(i))=strig & Application(Items(i)) end if Next
Next
end if
Application.Unlock end if
和show.asp文件中response.write application( Uid )的语句作用下将在主框架的左上方显示聊天信息,上面语句功能有:如果您选择了聊天对象是全体成员则自己发送的信息每个人(包括自己)都可见,如果聊天对象选择了某个用户则只有自己和这个用户可以看见发送的信息。
源代码:
<%
'HEAD>
' '
' '
<%
Ext=Request(\"Ext\") if Ext=\"退出\" Then
Uid=Session(\"Uid\")
Items=Split(Application(\"Peoples\"),\ Application.lock
Application(\"Peoples\")=\"\" For i=0 to UBound(Items)-1 if Items(i)<>Uid Then
Application(\"Peoples\")=Application(\"Peoples\")&Items(I)&\
end if Next
Application(Uid)=\"\" Application.Unlock Session.Abandon Response.End
else
if Request(\"Content\")<>\"\" then '构造显示信息 Uid=Session(\"Uid\")
Strig=\"\"_ & Uid & Request(\"Facial\") & \"说:\"_ & Request(\"Content\") & \"
\" '发送显示信息 Who=Request(\"Who\")
Items=Split(Application(\"Peoples\"),\ Application.lock
if Request(\"Who\")=\"All\" Then For i=0 to UBound(Items)-1 Application(Items(i))=strig & Application(Items(i)) Next else
For i=0 to UBound(Items)-1 if Items(i)=Uid or Items(i)=Who Then
Application(Items(i))=strig & Application(Items(i)) end if
Next
end if
Application.Unlock end if %>