100敬上!小弟初学asp,大哥大姐帮帮忙。。
我在学一个在线统计程序,可是不懂啊?
哪位给解释一下(后面带问号的),最好先从整体上说说原理。谢谢!!!
dim refreshtime,idletime,totalusers,onlineuser(),tmp(),num,i,id//定义变量,注意类型
refreshtime=10
idletime=refreshtime*3
application.Lock//必须锁住,因为application变量不能同时改变,
//一个访问者改变时,其他人不能改变.
//application就是一个全局变量,只要服务器开着,所有页面都可引用
if application(session.sessionid &"lastaccesstime")=empty then//?
if application("totalusers")=empty then application("totalusers")=0//?
redim tmp(application("totalusers")+1)//?
num=0
if application("totalusers")>0 then
for I=lbound(application("onlineuser")) to ubound(application("onlineuser"))
//application("onlineuser")是数组
id=application("onlineuser")(I)
if id<>session.sessionid then//?
tmp(num)=id//?
num=num+1//数组指针前移
end if
next
end if
tmp(num)=session.sessionid//?
application("totalusers")=num+1//注意数组第一个下标是0
redim preserve tmp(application("totalusers"))//?
application("onlineuser")=tmp//?
end if
application(session.sessionid &"lastaccesstime")=timer//?
redim tmp(application("totalusers"))//?
num=0
for i=0 to application("totalusers")-1//?
id =application("onlineuser")(i)
if(timer-application(id &"lastaccesstime"))<idletime then//?
tmp(num)=id
num=num+1
else
application(id &"lastaccesstime")=empty//?
end if
next
if num<>application("totalusers") then//?
redim preserve tmp(num)
application("onlineuser")=tmp
application("totalusers")=num
end if
application.UnLock()
%>