一个非常简单完整的聊天室演示程序,推荐初学者下载

简单的聊天室演示程序

一个比较基本的聊天室程序,具备最基本的“在线成员”“私聊”“清屏”“自动滚屏”等功能

这个聊天室程序是为ASP初学者学习参考而做,程序压缩包不大,20几K

下载地址:http://www.lshdic.com/download/lshdic/asp_liaotian.zip

这个聊天室是结合数据库的,由于代码分布不集中,在此只贴出用户登陆的那页代码

<%
set link1=server.CreateObject("ADODB.Connection")
link1.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("聊天室.mdb")
set rs=link1.Execute("select * from 会员表")
if request.form("ok")="" then
%>
<HTML>
<HEAD>
<META http-equiv='Content-Type' content='text/html;charset=gb2312'>
<Meta name='Gemeratpr' content='网络程序员伴侣(Lshdic)2004'>
<TITLE>登陆聊天室</TITLE>
<STYLE>
*{font-size:12px;color:;}
</STYLE>
</HEAD>
<BODY topmargin='2' leftmargin='2'>
<center>&nbsp;<p>风云舞者的聊天室<p>
<form method='post'>
在线成员:<select style='width:125'>
<%
str1=0
do while not rs.eof
times=DateDiff("s",rs("时间"),now)   '得到“当前时间”与“会员最后操作时间”之间间隔的秒数
if times<1200 then                   '20分钟内的最大停塞时间
if str1=0 then
str1=1:response.write "<option selected>" & rs("会员")
else
response.write "<option>" & rs("会员")
end if
end if
rs.movenext
loop
%>
</select><p>
用户名:<input type='text' maxlength='10' name='user'><p>
<input type='submit' value='提交' name='ok'>
</form>
<%
else
if request.form("user")="" then response.write "你必须填写用户名":response.end
if instr(request.form("user")," ")<>0 or instr(request.form("user"),"<")<>0 or instr(request.form("user"),">")<>0 or len(request.form("user"))<1 then response.write "用户名称不可以含有空格、&lt;符号、&gt;符号、_符号,而且最少为1个字符":response.end
if request.form("user")="大家" then response.write "用户名称不可以是“大家”":response.end
if rs.eof=true and rs.bof=false then rs.movefirst
isolduser=0
do while not rs.eof
if lcase(request.form("user"))=lcase(rs("会员")) and DateDiff("s",rs("时间"),now)<1200 then
response.write "对不起,<font color=red>" & request.form("user") & "</font> 这个用户还未离线,请您另起一个名字":response.end
elseif lcase(request.form("user"))=lcase(rs("会员")) and DateDiff("s",rs("时间"),now)>1200 then
isolduser=1:exit do
end if
rs.movenext
loop
if isolduser=1 then    '如果该会员以存在数据库中
link1.Execute "update 会员表 set 时间='" & now & "',id=" & session.SessionID & " where 会员='" & request.form("user") & "'"
else
link1.Execute "Insert into 会员表(会员,时间,id) values ('" & request.form("user") & "','" & now & "'," & session.SessionID & ")"
end if
application.Lock()
application("mc_" & session.SessionID)=""    '为该用户创建一个存储聊天数据的application变量中
application.UnLock()
session("who")=request.form("user")     '为该用户创建一个Session变量为了以后动态判断
response.Redirect "MC_allform.asp"
end if
%>
</BODY>
</HTML>

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验:内置对象使用 一、实验目的 1、掌握各个内置对象的含义; 2、理解并熟练应用sessionapplication对象。 二、实验内容 1、设计聊天室,在聊天室中,需要通过JSP内置对象application来实时保存特定数量的当前聊天信息。 聊天室的设计包括:用户进行登录,选择聊天室,进行聊天,退出聊天室。 在聊天室中,用户只需输入一个用户名就可以进入聊天室,但是如果当前有人在使用该用户名,那么就必须换一个唯一的用户名。 具体要求:  用户登录成功后,程序会要求用户选择聊天室。可以不设置用户自行建立聊天室的功能,而且在聊天中途不能从一个聊天室切换到另一个聊天室。  进入聊天室后,用户可以从用户信息窗口看到该聊天室中所有用户的用户名,也可以在聊天窗口中看到随时更新的聊天信息。用户可以给所有人或某一个聊天用户发送公共的聊天信息,这个聊天内容大家都可以看到。用户也可以给某个用户发送私人的聊天信息,这种信息属于私聊信息,只有发送者和接收者可以看到。此外,聊天窗口还会出现一些系统公告,比如某某上站、某某离开等消息,另外用户还可以自己定义聊天信息和聊天用户信息刷新的时间间隔。  在用户单击“退出”按钮后,页面关闭,同时applicationsession中保存的信息都将丢失。 三、实验方法 1、用户登录信息使用request对象getParameter()方法得到用户登陆的一些信息; 2、公聊信息可以使用application对象,私聊信息使用session对象。 3、聊天的信息要不断刷新页面,使用户实时看到聊天信息。 4、用户退出时,有两种情况需要考虑:一是用户点击“退出”按钮,二是关闭浏览器,强制退出窗口,可查阅windows感知浏览器关闭的事件的相应方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值